summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-03-24 14:05:08 +0100
committerhut <hut@lavabit.com>2010-03-24 14:05:08 +0100
commit55435343b142c424619e3072475ca8b3366d109c (patch)
tree55c5ba8d815bd2d4cfca2086dba998eaebb83067
parentefbde17048b14d43895e4cf91e798fb97702b68f (diff)
parent0a16f0da970ae344f0094767c08995dd63f616cb (diff)
downloadranger-55435343b142c424619e3072475ca8b3366d109c.tar.gz
Merge branch 'master' into newkey
Conflicts:
	ranger/api/keys.py
	ranger/container/commandlist.py
	ranger/core/actions.py
	ranger/defaults/keys.py
	ranger/gui/ui.py
	ranger/gui/widgets/browserview.py
-rw-r--r--HACKING15
-rw-r--r--INSTALL33
-rw-r--r--Makefile55
-rw-r--r--README54
-rw-r--r--TODO9
-rw-r--r--doc/cd-after-exit.txt22
-rw-r--r--doc/colorschemes.txt101
-rwxr-xr-xdoc/print_colors.py23
-rw-r--r--doc/pydoc/curses.ascii.html83
-rw-r--r--doc/pydoc/curses.html331
-rw-r--r--doc/pydoc/make_doc.html26
-rw-r--r--doc/pydoc/os.html949
-rw-r--r--doc/pydoc/os.path.html108
-rw-r--r--doc/pydoc/ranger.__main__.html24
-rw-r--r--doc/pydoc/ranger.actions.html192
-rw-r--r--doc/pydoc/ranger.applications.html129
-rw-r--r--doc/pydoc/ranger.colorschemes.default.html33
-rw-r--r--doc/pydoc/ranger.colorschemes.html16
-rw-r--r--doc/pydoc/ranger.colorschemes.jungle.html42
-rw-r--r--doc/pydoc/ranger.colorschemes.snow.html23
-rw-r--r--doc/pydoc/ranger.commands.html677
-rw-r--r--doc/pydoc/ranger.container.bookmarks.html25
-rw-r--r--doc/pydoc/ranger.container.commandlist.html25
-rw-r--r--doc/pydoc/ranger.container.environment.html130
-rw-r--r--doc/pydoc/ranger.container.history.html25
-rw-r--r--doc/pydoc/ranger.container.html7
-rw-r--r--doc/pydoc/ranger.container.keybuffer.html23
-rw-r--r--doc/pydoc/ranger.container.tags.html27
-rw-r--r--doc/pydoc/ranger.defaults.apps.html38
-rw-r--r--doc/pydoc/ranger.defaults.html3
-rw-r--r--doc/pydoc/ranger.defaults.keys.html16
-rw-r--r--doc/pydoc/ranger.defaults.options.html28
-rw-r--r--doc/pydoc/ranger.ext.accumulator.html23
-rw-r--r--doc/pydoc/ranger.ext.command_parser.html23
-rw-r--r--doc/pydoc/ranger.ext.debug.html43
-rw-r--r--doc/pydoc/ranger.ext.get_all_modules.html23
-rw-r--r--doc/pydoc/ranger.ext.html14
-rw-r--r--doc/pydoc/ranger.ext.human_readable.html23
-rw-r--r--doc/pydoc/ranger.ext.move.html23
-rw-r--r--doc/pydoc/ranger.ext.openstruct.html123
-rw-r--r--doc/pydoc/ranger.ext.relpath.html44
-rw-r--r--doc/pydoc/ranger.ext.shutil_generatorized.html4
-rw-r--r--doc/pydoc/ranger.ext.waitpid_no_intr.html23
-rw-r--r--doc/pydoc/ranger.fm.html222
-rw-r--r--doc/pydoc/ranger.fsobject.directory.html37
-rw-r--r--doc/pydoc/ranger.fsobject.file.html29
-rw-r--r--doc/pydoc/ranger.fsobject.fsobject.html29
-rw-r--r--doc/pydoc/ranger.fsobject.html2
-rw-r--r--doc/pydoc/ranger.fsobject.loader.html23
-rw-r--r--doc/pydoc/ranger.gui.bar.html25
-rw-r--r--doc/pydoc/ranger.gui.colorscheme.html17
-rw-r--r--doc/pydoc/ranger.gui.curses_shortcuts.html25
-rw-r--r--doc/pydoc/ranger.gui.defaultui.html27
-rw-r--r--doc/pydoc/ranger.gui.displayable.html31
-rw-r--r--doc/pydoc/ranger.gui.html11
-rw-r--r--doc/pydoc/ranger.gui.mouse_event.html23
-rw-r--r--doc/pydoc/ranger.gui.ui.html43
-rw-r--r--doc/pydoc/ranger.gui.widgets.browsercolumn.html23
-rw-r--r--doc/pydoc/ranger.gui.widgets.browserview.html12
-rw-r--r--doc/pydoc/ranger.gui.widgets.console.html67
-rw-r--r--doc/pydoc/ranger.gui.widgets.console_mode.html23
-rw-r--r--doc/pydoc/ranger.gui.widgets.html27
-rw-r--r--doc/pydoc/ranger.gui.widgets.pager.html12
-rw-r--r--doc/pydoc/ranger.gui.widgets.statusbar.html4
-rw-r--r--doc/pydoc/ranger.gui.widgets.taskview.html4
-rw-r--r--doc/pydoc/ranger.gui.widgets.titlebar.html4
-rw-r--r--doc/pydoc/ranger.html47
-rw-r--r--doc/pydoc/ranger.keyapi.html412
-rw-r--r--doc/pydoc/ranger.shared.mimetype.html31
-rw-r--r--doc/pydoc/ranger.shared.settings.html49
-rw-r--r--doc/pydoc/sys.html245
-rw-r--r--doc/pydoc/test.html22
-rw-r--r--doc/pydoc/test.tc_bookmarks.html15
-rw-r--r--doc/pydoc/test.tc_colorscheme.html15
-rw-r--r--doc/pydoc/test.tc_directory.html15
-rw-r--r--doc/pydoc/test.tc_displayable.html15
-rw-r--r--doc/pydoc/test.tc_history.html15
-rw-r--r--doc/pydoc/test.tc_keyapi.html15
-rw-r--r--doc/pydoc/test.tc_ui.html15
-rw-r--r--doc/uml.txt5
-rw-r--r--ranger/__init__.py49
-rw-r--r--ranger/__main__.py120
-rw-r--r--ranger/api/apps.py16
-rw-r--r--ranger/api/options.py14
-rw-r--r--ranger/colorschemes/__init__.py30
-rw-r--r--ranger/colorschemes/default.py2
-rw-r--r--ranger/colorschemes/default88.py59
-rw-r--r--ranger/colorschemes/texas.py73
-rw-r--r--ranger/container/bookmarks.py8
-rw-r--r--ranger/container/tags.py4
-rw-r--r--ranger/core/__init__.py1
-rw-r--r--ranger/core/actions.py (renamed from ranger/actions.py)83
-rw-r--r--ranger/core/environment.py (renamed from ranger/container/environment.py)62
-rw-r--r--ranger/core/fm.py (renamed from ranger/fm.py)60
-rw-r--r--ranger/core/runner.py (renamed from ranger/runner.py)0
-rwxr-xr-xranger/data/generate.py31
-rw-r--r--ranger/data/mime.dat1752
-rw-r--r--ranger/data/mime.types767
-rw-r--r--ranger/defaults/__init__.py15
-rw-r--r--ranger/defaults/apps.py23
-rw-r--r--ranger/defaults/commands.py (renamed from ranger/commands.py)61
-rw-r--r--ranger/defaults/keys.py353
-rw-r--r--ranger/defaults/options.py69
-rw-r--r--ranger/ext/__init__.py15
-rw-r--r--ranger/ext/command_parser.py2
-rw-r--r--ranger/ext/debug.py34
-rw-r--r--ranger/ext/openstruct.py26
-rw-r--r--ranger/ext/relpath.py26
-rw-r--r--ranger/ext/shutil_generatorized.py6
-rw-r--r--ranger/fsobject/directory.py2
-rw-r--r--ranger/fsobject/fsobject.py35
-rw-r--r--ranger/gui/colorscheme.py18
-rw-r--r--ranger/gui/context.py2
-rw-r--r--ranger/gui/ui.py23
-rw-r--r--ranger/gui/widgets/browsercolumn.py26
-rw-r--r--ranger/gui/widgets/browserview.py92
-rw-r--r--ranger/gui/widgets/console.py53
-rw-r--r--ranger/gui/widgets/pager.py2
-rw-r--r--ranger/gui/widgets/statusbar.py9
-rw-r--r--ranger/gui/widgets/titlebar.py12
-rw-r--r--ranger/help/console.py2
-rw-r--r--ranger/help/fileop.py23
-rw-r--r--ranger/help/movement.py4
-rw-r--r--ranger/shared/mimetype.py11
-rw-r--r--ranger/shared/settings.py118
-rw-r--r--test/tc_colorscheme.py2
126 files changed, 2156 insertions, 7333 deletions
diff --git a/HACKING b/HACKING
index 84fb7539..85f44ed6 100644
--- a/HACKING
+++ b/HACKING
@@ -17,10 +17,10 @@ Patches
 
 Send patches, created with "git format-patch", to the email adress
 
-    hut@lavabit.com
+    romanz@lavabit.com
 
 If you plan to do major changes, or many changes over time, I encourage
-you to create a fork on GitHub or Gitorious.
+you to create a fork on GitHub, Gitorious or any other site.
 
 
 Common Changes
@@ -40,16 +40,17 @@ The setting is now accessible at self.settings.my_option,
 assuming <self> is a "SettingsAware" object.
 
 * Change commands:
-ranger/commands.py
+ranger/defaults/commands.py
 
 * Create aliases for commands:
-In ranger/commands.py
+In ranger/defaults/commands.py
 at the bottom, write something like: alias(exit=quit)
 
 * Adding colorschemes:
 Copy ranger/colorschemes/default.py to ranger/colorschemes/myscheme.py
-and modify it according to your needs.
-In ranger/defaults/options.py, change
+and modify it according to your needs.  Alternatively, mimic the jungle
+colorscheme.  It subclasses the default scheme and just modifies a few things.
+In ranger/defaults/options.py (or ~/.ranger/options.py), change
     colorscheme = colorschemes.default
 to: colorscheme = colorschemes.myscheme
 
@@ -59,7 +60,7 @@ change the hidden_filter regular expression.
 
 * Change the key map:
 Modify ranger/defaults/keys.py.  This should be self-explanatory.
-Check out ranger/actions.py for the most common actions, of course
+Check out ranger/core/actions.py for the most common actions, of course
 you can also use your own functions.
 
 * Change the file type => application associations:
diff --git a/INSTALL b/INSTALL
index 4635478b..d14d3891 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,23 @@
-You can run ranger without installing by simply starting the executable
-file ranger.py in the top directory of this package.
+Installing
+==========
 
+You don't need to install anything.
 
-To install ranger, follow this instructions:
+You can run ranger by simply starting the executable file ranger.py
+in the top directory of this package.
+Use the --clean option and it will leave no trace whatsoever on your system.
+
+
+If you insist on conventionally install it, use the package manager
+of your operating system.  If there is no package or it is out of date,
+you can also follow these instructions:
+
+
+Step by step
+============
+
+(This is all done automagically if you type `sudo make install',
+though you might want to read the Makefile first)
 
 0. Make sure you have a recent version of python, including the
    curses module, which is the case if this shell command prints no errors:
@@ -27,4 +42,14 @@ To install ranger, follow this instructions:
    alias rng="source ranger ranger"
 
    (Unfortunately this feature is shell dependent.  It has been
-   successfully tested with BASH only.)
+   successfully tested with BASH and ZSH only.)
+
+
+Uninstalling
+============
+
+Use your package manager to uninstall ranger.  If you manually installed
+it, revert the steps described above.
+
+Ranger can also create a configuration directory at ~/.ranger which
+you might want to remove as well.
diff --git a/Makefile b/Makefile
index feef0bf0..ac7b0502 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,16 @@
 NAME = ranger
-VERSION = 1.0.3
-PYTHON = python
-DOCDIR = doc/pydoc
+VERSION = 1.0.4
+PYTHON ?= python
+DOCDIR ?= doc/pydoc
+PREFIX ?= /usr/local
+PYTHONOPTIMIZE ?= 2
 CWD = $(shell pwd)
-EDITOR = vim
+EDITOR ?= vim
+DEST ?= $(shell $(PYTHON) -c 'import sys; sys.stdout.write( \
+	[p for p in sys.path if "site" in p][0])' 2> /dev/null)/ranger
 
-.PHONY: all clean doc cleandoc edit push test commit install info snapshot minimal_snapshot
+.PHONY: all compile clean doc cleandoc edit push test commit \
+	install uninstall info snapshot minimal_snapshot
 
 info:
 	@echo 'This makefile provides shortcuts for common tasks.'
@@ -21,7 +26,12 @@ info:
 	@echo 'make push: push the changes via git'
 	@echo 'make edit: open all relevant files in your editor'
 
-all: test
+all: test install
+
+compile: clean
+	@echo 'Compiling...'
+	python -m compileall -q ranger
+	PYTHONOPTIMIZE=$(PYTHONOPTIMIZE) python -m compileall -q ranger
 
 doc: cleandoc
 	mkdir -p $(DOCDIR)
@@ -30,16 +40,40 @@ doc: cleandoc
 		sys.path[0] = "$(CWD)"; \
 		pydoc.writedocs("$(CWD)")'
 
-install:
-	@less -XF INSTALL
+uninstall:
+	@echo 'To uninstall ranger, please remove these files:'
+	@echo $(DEST)'/*'
+	@echo $(PREFIX)'/bin/ranger'
+	@echo 'and optionally the config files at:'
+	@echo '~/.ranger'
+
+install: compile
+	@if [ '$(DEST)' == '/ranger' ]; then \
+		echo 'Cannot find a suitable destination for the files.'; \
+		false; \
+	fi
+	@echo "Installing..."
+	cp ranger.py $(PREFIX)/bin/ranger
+	cp -ruT ranger $(DEST)
+	chmod 755 $(PREFIX)/bin/ranger
+	chmod -R +rX $(DEST)
+	@echo '--------------------------------------'
+	@echo 'Finished.'
+	@echo 'If you use BASH or ZSH, you can activate an extra feature now:'
+	@echo 'When you exit ranger, the directory of the current shell can be'
+	@echo 'changed to the last visited directory in ranger.  To do so, add'
+	@echo 'this alias to your shell rc file (like ~/.bashrc):'
+	@echo 'alias rng="source ranger ranger"'
+	@echo 'And run ranger by typing rng.'
+
 
 cleandoc:
 	test -d $(DOCDIR) && rm -f -- $(DOCDIR)/*.html
 
 clean:
-	find . -regex .\*.py[co]$ | xargs rm -f --
+	find . -regex [^\s]\*.py[co]$ | xargs rm -f --
 
-test: clean
+test:
 	./all_tests.py
 
 edit:
@@ -49,7 +83,6 @@ push:
 	@for repo in $(shell git remote); do \
 		echo "Pushing to $$repo..."; \
 		git push $$repo master; \
-		git push $$repo -f hut; \
 	done
 
 commit: test
diff --git a/README b/README
index 88d9523f..b97b5ed7 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Ranger v.1.0.3
+Ranger v.1.0.4
 ==============
 
 Ranger
@@ -6,23 +6,28 @@ Ranger
    A keeper, guardian, or soldier who ranges over a region
    to protect the area or enforce the law.
 
-This file browser gives you the ability to swiftly move around
-and get a broad overview of your forest of directory trees.
+This is the filemanager Chuck Norris the Texas Ranger would use
+if he had a computer with a unix-like operating system.  (He doesn't
+trust computers though and prefers to do the calculations himself.)
 
-Rangers default hotkeys make it intuitive for users of the popular
-text-editor VIM, but it is fully customizable.
+After all, as a professional ranger, he needs a broad overview of his
+territory, and the multi-column display of ranger provides just that,
+rather than restricting you to the current directory only.
+You can preview the content of the selected file or directory, copy or move
+files around with the VIM-like commands dd and yy, execute predefined
+applications when opening a file, etc...
 
-The program is written in Python since version 1.0.0 and uses
-ncurses for the (completely text based) user interface.
+Everything is fully customizable and written in Python (2.6 and 3.1
+compatible) using curses for the text-based user interface.
 
 
 About
 -----
 
-* Author:          hut
-* Email:           hut@lavabit.com
-* Git repo:        http://repo.or.cz/w/ranger.git
-* Version:         1.0.3
+* Author:          Roman Zimbelmann
+* Email:           romanz@lavabit.com
+* Git repo:        http://git.savannah.gnu.org/cgit/ranger.git
+* Version:         1.0.4
 
 
 Features
@@ -42,32 +47,39 @@ Features
 Dependencies
 ------------
 
-* A Unix-like OS        (Linux, BSD, Mac OS, ...)
+* A Unix-like Operating System
 * Python 2.6 or 3.1
-* Python curses module
+* Python curses module  (often but not always included with Python)
 
 
 Bugs and Feature Requests
 -------------------------
 
-Report bugs and feature requests on the bug tracker of
-the ranger repository on GitHub:
-    http://github.com/hut/ranger/issues
+Report bugs and feature requests on savannah:
+    https://savannah.nongnu.org/bugs/?func=additem&group=ranger
 
-Alternatively you can send an email to hut@lavabit.com.
+Alternatively you can send an email to romanz@lavabit.com.
 
 Please include as much relevant information as possible.
 Using ranger with the --debug option will abort the program and
-print tracebacks in certain cases.
+print tracebacks rather than a red message in the statusbar.
+If this applies to you, please include such a traceback in your report.
 
 
 Getting Started
 ---------------
 
-At first, it's a good idea to create a symlink in your bin dir:
-    sudo ln -s /path/to/ranger.py /usr/bin/ranger
+If you just want to check out ranger without installing it, type
 
-Now type in ranger to start it.
+    ./ranger.py --clean
+
+in the top directory of ranger.  By using the --clean switch, it will
+leave no trace on your system whatsoever.
+
+To properly install it, follow the instructions in the INSTALL file,
+then type:
+
+    ranger
 
 You should see 4 columns.  The third is the directory where you are at
 the moment.  To the left, there are the directories above the current
diff --git a/TODO b/TODO
index 44de45aa..17991c40 100644
--- a/TODO
+++ b/TODO
@@ -46,7 +46,9 @@ General
    (X) #61  10/02/09  show sum of size of marked files
    (X) #63  10/02/15  limit filesize in previews
    ( ) #64  10/02/25  scroll in previews
-   ( ) #66  10/02/28  explain how colorschemes work
+   (X) #66  10/02/28  explain how colorschemes work
+   ( ) #70  10/03/14  mouse handler for titlebar
+   ( ) #71  10/03/21  previews: black/whitelist + read file
 
 
 Bugs
@@ -69,6 +71,9 @@ Bugs
    (X) #62  10/02/15  curs_set can raise an exception
    (X) #65  10/02/16  "source ranger ranger some/file.txt" shouldn't cd after exit
    ( ) #67  10/03/08  terminal title in tty
+   (X) #69  10/03/11  tab-completion breaks with Apps subclass
+   ( ) #73  10/03/21  when clicking on the first column, it goes 1x down
+   ( ) #74  10/03/21  console doesn't scroll
 
 
 Ideas
@@ -80,4 +85,6 @@ Ideas
    ( ) #33  10/01/08  accelerate mousewheel speed
    ( ) #45  10/01/18  hooks for events like setting changes
    ( ) #53  10/01/23  merge fm and environment
+   ( ) #68  10/03/10  threads, to seperate ui and loading
+   ( ) #72  10/03/21  ranger daemon which does the slow io tasks
 
diff --git a/doc/cd-after-exit.txt b/doc/cd-after-exit.txt
index 5e54fee0..ee300518 100644
--- a/doc/cd-after-exit.txt
+++ b/doc/cd-after-exit.txt
@@ -1,6 +1,8 @@
 The "cd-after-exit" Feature
+===========================
 
-== Abstract
+Abstract
+--------
 
 This document explains the troublesome implementation of the "cd-after-exit"
 feature.
@@ -8,7 +10,8 @@ feature.
 This is written for developers who wonder how it's working.
 
 
-== Specification
+Specification
+-------------
 
 When the feature is enabled, ranger will attempt to change the directory of
 the parent shell (from which ranger is run) to the last visited directory
@@ -20,7 +23,8 @@ addition of support for csh, ksh, and other shells to those who actually use
 those shells.
 
 
-== What's the problem?
+What's the problem?
+-------------------
 
 Shells have several limitations, the implementation could not be done easily
 because:
@@ -33,7 +37,8 @@ of the parent shell at all.
 which is directly integrated in to the shell and can not be run this way.
 
 
-== Redirection of streams
+Redirection of streams
+----------------------
 
 The only way I found is using cd `program` from inside the shell to change
 the directory to whatever `program` prints to the stdout:
@@ -62,7 +67,8 @@ switch which:
     bash$ cd `ranger --cd-after-exit 3>&1 1>&2 2>&3 3>&-`
 
 
-== Argument passing
+Argument passing
+----------------
 
 This works well enough, but there are two remaining problems:
 
@@ -92,7 +98,8 @@ run.sh:
     cd "`$RANGER --cd-after-exit \"$@\" 3>&1 1>&2 2>&3 3>&-`"
 
 
-== Put it in a nutshell
+Put it in a nutshell
+--------------------
 
 I didn't want to have 2 files for the main program and wanted just one
 file at /usr/bin/ranger.  So I used this trick to merge both files into one:
@@ -120,7 +127,8 @@ A convenient way of using this feature is adding this line to your bashrc:
     alias rn='source ranger ranger'
 
 
-== Open issues
+Open issues
+-----------
 
 Unfortunately there is some redundancy: you have to type the path to ranger
 twice.  I know of no way to fix this, because it is not possible to get the
diff --git a/doc/colorschemes.txt b/doc/colorschemes.txt
new file mode 100644
index 00000000..905c7a3e
--- /dev/null
+++ b/doc/colorschemes.txt
@@ -0,0 +1,101 @@
+Colorschemes
+============
+
+Abstract
+--------
+
+
+This text explains colorschemes and how they work.
+
+
+Context Tags
+------------
+
+Context Tags provide information about the context.  If the tag
+"in_titlebar" is set, you probably want to know about the color
+of a part of the titlebar now.
+
+There are a number of context tags, specified in /ranger/gui/context.py
+in the constant CONTEXT_KEYS.
+
+A Context object, defined in the same file, contains attributes with
+the names of all tags, whose values are either True or False.
+
+
+Implementation in the GUI Classes
+---------------------------------
+
+The class CursesShortcuts in the file /ranger/gui/curses_shortcuts.py
+defines the methods color(*tags), color_at(y, x, wid, *tags) and
+color_reset().  This class is a superclass of Displayable, so these
+methods are available almost everywhere.
+
+Something like color("in_titlebar", "directory") will be called to
+get the color of directories in the titlebar.  This creates a
+ranger.gui.context.Context object, sets its attributes "in_titlebar" and
+"directory" to True, leaves the others as False, and passes it to the
+colorscheme's use(context) method.
+
+
+The Color Scheme
+----------------
+
+A colorscheme should be a subclass of ranger.gui.ColorScheme and
+define the method use(context).  By looking at the context, this use-method
+has to determine a 3-tuple of integers: (foreground, background, attribute)
+and return it.
+
+foreground and background are integers representing colors,
+attribute is another integer with each bit representing one attribute.
+These integers are interpreted by the used terminal emulator.
+
+Abbreviations for colors and attributes are defined in ranger.gui.color.
+Two attributes can be combined via bitwise OR: bold | reverse
+
+Once the color for a set of tags is determined, it will be cached by
+default.  If you want more dynamic colorschemes (such as a different
+color for very large files), you will need to dig into the source code,
+perhaps add an own tag and modify the draw-method of the widget to use
+that tag.
+
+Run tc_colorscheme to check if your colorschemes are valid.
+
+
+Specify a Colorscheme
+---------------------
+
+Colorschemes are searched for in these directories:
+~/.ranger/colorschemes/
+/ranger/colorschemes/
+
+To specify which colorscheme to use, define the variable "colorscheme"
+in your options.py:
+colorscheme = colorschemes.default
+
+This means, use the (one) colorscheme contained in
+either ~/.ranger/colorschemes/default.py or /ranger/colorschemes/default.py.
+
+You can define more than one colorscheme in a colorscheme file.  The
+one named "Scheme" will be chosen in that case.  If there is no colorscheme
+named "Scheme", an arbitrary one will be picked.  You could also explicitly
+specify which colorscheme to use in your options.py:
+colorscheme = colorschemes.default.MyOtherScheme
+
+
+Adapt a colorscheme
+-------------------
+
+You may want to adapt a colorscheme to your needs without having
+a complete copy of it, but rather the changes only.  Say, you
+want the exact same colors as in the default colorscheme, but
+the directories to be green rather than blue, because you find the
+blue hard to read.
+
+This is done in the jungle colorscheme ranger.colorschemes.jungle.Scheme,
+check it out for implementation details.  In short, I made a subclass
+of the default scheme, set the initial colors to the result of the
+default use() method and modified the colors how I wanted.
+
+This has the obvious advantage that you need to write less, which
+results in less maintainance work and a greater chance that your colorscheme
+will work with future versions of ranger.
diff --git a/doc/print_colors.py b/doc/print_colors.py
new file mode 100755
index 00000000..7ffd6500
--- /dev/null
+++ b/doc/print_colors.py
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+"""
+You can use this tool to display all supported colors and their color number.
+It will exit after a keypress.
+"""
+
+import curses
+from curses import *
+
+@wrapper
+def main(win):
+	def print_all_colors(attr):
+		for c in range(0, curses.COLORS):
+			init_pair(c, c, -1)
+			win.addstr(str(c) + ' ', color_pair(c) | attr)
+	use_default_colors()
+	win.addstr("available colors: %d\n\n" % curses.COLORS)
+	print_all_colors(0)
+	win.addstr("\n\n")
+	print_all_colors(A_BOLD)
+	win.refresh()
+	win.getch()
+
diff --git a/doc/pydoc/curses.ascii.html b/doc/pydoc/curses.ascii.html
deleted file mode 100644
index 53cc58c1..00000000
--- a/doc/pydoc/curses.ascii.html
+++ /dev/null
@@ -1,83 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module curses.ascii</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="curses.html"><font color="#ffffff">curses</font></a>.ascii</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/lib/python2.6/curses/ascii.py">/usr/lib/python2.6/curses/ascii.py</a><br><a href="http://docs.python.org/library/curses.ascii">Module Docs</a></font></td></tr></table>
-    <p><tt>Constants&nbsp;and&nbsp;membership&nbsp;tests&nbsp;for&nbsp;ASCII&nbsp;characters</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-alt"><strong>alt</strong></a>(c)</dt></dl>
- <dl><dt><a name="-ascii"><strong>ascii</strong></a>(c)</dt></dl>
- <dl><dt><a name="-ctrl"><strong>ctrl</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isalnum"><strong>isalnum</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isalpha"><strong>isalpha</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isascii"><strong>isascii</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isblank"><strong>isblank</strong></a>(c)</dt></dl>
- <dl><dt><a name="-iscntrl"><strong>iscntrl</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isctrl"><strong>isctrl</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isdigit"><strong>isdigit</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isgraph"><strong>isgraph</strong></a>(c)</dt></dl>
- <dl><dt><a name="-islower"><strong>islower</strong></a>(c)</dt></dl>
- <dl><dt><a name="-ismeta"><strong>ismeta</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isprint"><strong>isprint</strong></a>(c)</dt></dl>
- <dl><dt><a name="-ispunct"><strong>ispunct</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isspace"><strong>isspace</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isupper"><strong>isupper</strong></a>(c)</dt></dl>
- <dl><dt><a name="-isxdigit"><strong>isxdigit</strong></a>(c)</dt></dl>
- <dl><dt><a name="-unctrl"><strong>unctrl</strong></a>(c)</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>ACK</strong> = 6<br>
-<strong>BEL</strong> = 7<br>
-<strong>BS</strong> = 8<br>
-<strong>CAN</strong> = 24<br>
-<strong>CR</strong> = 13<br>
-<strong>DC1</strong> = 17<br>
-<strong>DC2</strong> = 18<br>
-<strong>DC3</strong> = 19<br>
-<strong>DC4</strong> = 20<br>
-<strong>DEL</strong> = 127<br>
-<strong>DLE</strong> = 16<br>
-<strong>EM</strong> = 25<br>
-<strong>ENQ</strong> = 5<br>
-<strong>EOT</strong> = 4<br>
-<strong>ESC</strong> = 27<br>
-<strong>ETB</strong> = 23<br>
-<strong>ETX</strong> = 3<br>
-<strong>FF</strong> = 12<br>
-<strong>FS</strong> = 28<br>
-<strong>GS</strong> = 29<br>
-<strong>HT</strong> = 9<br>
-<strong>LF</strong> = 10<br>
-<strong>NAK</strong> = 21<br>
-<strong>NL</strong> = 10<br>
-<strong>NUL</strong> = 0<br>
-<strong>RS</strong> = 30<br>
-<strong>SI</strong> = 15<br>
-<strong>SO</strong> = 14<br>
-<strong>SOH</strong> = 1<br>
-<strong>SP</strong> = 32<br>
-<strong>STX</strong> = 2<br>
-<strong>SUB</strong> = 26<br>
-<strong>SYN</strong> = 22<br>
-<strong>TAB</strong> = 9<br>
-<strong>US</strong> = 31<br>
-<strong>VT</strong> = 11<br>
-<strong>controlnames</strong> = ['NUL', 'SOH', 'STX', 'ETX', 'EOT', 'ENQ', 'ACK', 'BEL', 'BS', 'HT', 'LF', 'VT', 'FF', 'CR', 'SO', 'SI', 'DLE', 'DC1', 'DC2', 'DC3', ...]</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/curses.html b/doc/pydoc/curses.html
deleted file mode 100644
index 87afc0e1..00000000
--- a/doc/pydoc/curses.html
+++ /dev/null
@@ -1,331 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: package curses</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>curses</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/lib/python2.6/curses/__init__.py">/usr/lib/python2.6/curses/__init__.py</a><br><a href="http://docs.python.org/library/curses">Module Docs</a></font></td></tr></table>
-    <p><tt>curses<br>
-&nbsp;<br>
-The&nbsp;main&nbsp;package&nbsp;for&nbsp;curses&nbsp;support&nbsp;for&nbsp;Python.&nbsp;&nbsp;Normally&nbsp;used&nbsp;by&nbsp;importing<br>
-the&nbsp;package,&nbsp;and&nbsp;perhaps&nbsp;a&nbsp;particular&nbsp;module&nbsp;inside&nbsp;it.<br>
-&nbsp;<br>
-&nbsp;&nbsp;&nbsp;import&nbsp;curses<br>
-&nbsp;&nbsp;&nbsp;from&nbsp;curses&nbsp;import&nbsp;textpad<br>
-&nbsp;&nbsp;&nbsp;curses.initwin()<br>
-&nbsp;&nbsp;&nbsp;...</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="curses.ascii.html">ascii</a><br>
-<a href="curses.has_key.html">has_key</a><br>
-</td><td width="25%" valign=top><a href="curses.panel.html">panel</a><br>
-<a href="curses.textpad.html">textpad</a><br>
-</td><td width="25%" valign=top><a href="curses.wrapper.html">wrapper</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-baudrate"><strong>baudrate</strong></a>(...)</dt></dl>
- <dl><dt><a name="-beep"><strong>beep</strong></a>(...)</dt></dl>
- <dl><dt><a name="-can_change_color"><strong>can_change_color</strong></a>(...)</dt></dl>
- <dl><dt><a name="-cbreak"><strong>cbreak</strong></a>(...)</dt></dl>
- <dl><dt><a name="-color_content"><strong>color_content</strong></a>(...)</dt></dl>
- <dl><dt><a name="-color_pair"><strong>color_pair</strong></a>(...)</dt></dl>
- <dl><dt><a name="-curs_set"><strong>curs_set</strong></a>(...)</dt></dl>
- <dl><dt><a name="-def_prog_mode"><strong>def_prog_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-def_shell_mode"><strong>def_shell_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-delay_output"><strong>delay_output</strong></a>(...)</dt></dl>
- <dl><dt><a name="-doupdate"><strong>doupdate</strong></a>(...)</dt></dl>
- <dl><dt><a name="-echo"><strong>echo</strong></a>(...)</dt></dl>
- <dl><dt><a name="-endwin"><strong>endwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-erasechar"><strong>erasechar</strong></a>(...)</dt></dl>
- <dl><dt><a name="-filter"><strong>filter</strong></a>(...)</dt></dl>
- <dl><dt><a name="-flash"><strong>flash</strong></a>(...)</dt></dl>
- <dl><dt><a name="-flushinp"><strong>flushinp</strong></a>(...)</dt></dl>
- <dl><dt><a name="-getmouse"><strong>getmouse</strong></a>(...)</dt></dl>
- <dl><dt><a name="-getsyx"><strong>getsyx</strong></a>(...)</dt></dl>
- <dl><dt><a name="-getwin"><strong>getwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-halfdelay"><strong>halfdelay</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_colors"><strong>has_colors</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_ic"><strong>has_ic</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_il"><strong>has_il</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_key"><strong>has_key</strong></a>(...)</dt></dl>
- <dl><dt><a name="-init_color"><strong>init_color</strong></a>(...)</dt></dl>
- <dl><dt><a name="-init_pair"><strong>init_pair</strong></a>(...)</dt></dl>
- <dl><dt><a name="-initscr"><strong>initscr</strong></a>()</dt></dl>
- <dl><dt><a name="-intrflush"><strong>intrflush</strong></a>(...)</dt></dl>
- <dl><dt><a name="-is_term_resized"><strong>is_term_resized</strong></a>(...)</dt></dl>
- <dl><dt><a name="-isendwin"><strong>isendwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-keyname"><strong>keyname</strong></a>(...)</dt></dl>
- <dl><dt><a name="-killchar"><strong>killchar</strong></a>(...)</dt></dl>
- <dl><dt><a name="-longname"><strong>longname</strong></a>(...)</dt></dl>
- <dl><dt><a name="-meta"><strong>meta</strong></a>(...)</dt></dl>
- <dl><dt><a name="-mouseinterval"><strong>mouseinterval</strong></a>(...)</dt></dl>
- <dl><dt><a name="-mousemask"><strong>mousemask</strong></a>(...)</dt></dl>
- <dl><dt><a name="-napms"><strong>napms</strong></a>(...)</dt></dl>
- <dl><dt><a name="-newpad"><strong>newpad</strong></a>(...)</dt></dl>
- <dl><dt><a name="-newwin"><strong>newwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-nl"><strong>nl</strong></a>(...)</dt></dl>
- <dl><dt><a name="-nocbreak"><strong>nocbreak</strong></a>(...)</dt></dl>
- <dl><dt><a name="-noecho"><strong>noecho</strong></a>(...)</dt></dl>
- <dl><dt><a name="-nonl"><strong>nonl</strong></a>(...)</dt></dl>
- <dl><dt><a name="-noqiflush"><strong>noqiflush</strong></a>(...)</dt></dl>
- <dl><dt><a name="-noraw"><strong>noraw</strong></a>(...)</dt></dl>
- <dl><dt><a name="-pair_content"><strong>pair_content</strong></a>(...)</dt></dl>
- <dl><dt><a name="-pair_number"><strong>pair_number</strong></a>(...)</dt></dl>
- <dl><dt><a name="-putp"><strong>putp</strong></a>(...)</dt></dl>
- <dl><dt><a name="-qiflush"><strong>qiflush</strong></a>(...)</dt></dl>
- <dl><dt><a name="-raw"><strong>raw</strong></a>(...)</dt></dl>
- <dl><dt><a name="-reset_prog_mode"><strong>reset_prog_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-reset_shell_mode"><strong>reset_shell_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-resetty"><strong>resetty</strong></a>(...)</dt></dl>
- <dl><dt><a name="-resize_term"><strong>resize_term</strong></a>(...)</dt></dl>
- <dl><dt><a name="-resizeterm"><strong>resizeterm</strong></a>(...)</dt></dl>
- <dl><dt><a name="-savetty"><strong>savetty</strong></a>(...)</dt></dl>
- <dl><dt><a name="-setsyx"><strong>setsyx</strong></a>(...)</dt></dl>
- <dl><dt><a name="-setupterm"><strong>setupterm</strong></a>(...)</dt></dl>
- <dl><dt><a name="-start_color"><strong>start_color</strong></a>()</dt></dl>
- <dl><dt><a name="-termattrs"><strong>termattrs</strong></a>(...)</dt></dl>
- <dl><dt><a name="-termname"><strong>termname</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tigetflag"><strong>tigetflag</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tigetnum"><strong>tigetnum</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tigetstr"><strong>tigetstr</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tparm"><strong>tparm</strong></a>(...)</dt></dl>
- <dl><dt><a name="-typeahead"><strong>typeahead</strong></a>(...)</dt></dl>
- <dl><dt><a name="-unctrl"><strong>unctrl</strong></a>(...)</dt></dl>
- <dl><dt><a name="-ungetch"><strong>ungetch</strong></a>(...)</dt></dl>
- <dl><dt><a name="-ungetmouse"><strong>ungetmouse</strong></a>(...)</dt></dl>
- <dl><dt><a name="-use_default_colors"><strong>use_default_colors</strong></a>(...)</dt></dl>
- <dl><dt><a name="-use_env"><strong>use_env</strong></a>(...)</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>ALL_MOUSE_EVENTS</strong> = 134217727<br>
-<strong>A_ALTCHARSET</strong> = 4194304<br>
-<strong>A_ATTRIBUTES</strong> = 4294967040<br>
-<strong>A_BLINK</strong> = 524288<br>
-<strong>A_BOLD</strong> = 2097152<br>
-<strong>A_CHARTEXT</strong> = 255<br>
-<strong>A_COLOR</strong> = 65280<br>
-<strong>A_DIM</strong> = 1048576<br>
-<strong>A_HORIZONTAL</strong> = 33554432<br>
-<strong>A_INVIS</strong> = 8388608<br>
-<strong>A_LEFT</strong> = 67108864<br>
-<strong>A_LOW</strong> = 134217728<br>
-<strong>A_NORMAL</strong> = 0<br>
-<strong>A_PROTECT</strong> = 16777216<br>
-<strong>A_REVERSE</strong> = 262144<br>
-<strong>A_RIGHT</strong> = 268435456<br>
-<strong>A_STANDOUT</strong> = 65536<br>
-<strong>A_TOP</strong> = 536870912<br>
-<strong>A_UNDERLINE</strong> = 131072<br>
-<strong>A_VERTICAL</strong> = 1073741824<br>
-<strong>BUTTON1_CLICKED</strong> = 4<br>
-<strong>BUTTON1_DOUBLE_CLICKED</strong> = 8<br>
-<strong>BUTTON1_PRESSED</strong> = 2<br>
-<strong>BUTTON1_RELEASED</strong> = 1<br>
-<strong>BUTTON1_TRIPLE_CLICKED</strong> = 16<br>
-<strong>BUTTON2_CLICKED</strong> = 256<br>
-<strong>BUTTON2_DOUBLE_CLICKED</strong> = 512<br>
-<strong>BUTTON2_PRESSED</strong> = 128<br>
-<strong>BUTTON2_RELEASED</strong> = 64<br>
-<strong>BUTTON2_TRIPLE_CLICKED</strong> = 1024<br>
-<strong>BUTTON3_CLICKED</strong> = 16384<br>
-<strong>BUTTON3_DOUBLE_CLICKED</strong> = 32768<br>
-<strong>BUTTON3_PRESSED</strong> = 8192<br>
-<strong>BUTTON3_RELEASED</strong> = 4096<br>
-<strong>BUTTON3_TRIPLE_CLICKED</strong> = 65536<br>
-<strong>BUTTON4_CLICKED</strong> = 1048576<br>
-<strong>BUTTON4_DOUBLE_CLICKED</strong> = 2097152<br>
-<strong>BUTTON4_PRESSED</strong> = 524288<br>
-<strong>BUTTON4_RELEASED</strong> = 262144<br>
-<strong>BUTTON4_TRIPLE_CLICKED</strong> = 4194304<br>
-<strong>BUTTON_ALT</strong> = 67108864<br>
-<strong>BUTTON_CTRL</strong> = 16777216<br>
-<strong>BUTTON_SHIFT</strong> = 33554432<br>
-<strong>COLOR_BLACK</strong> = 0<br>
-<strong>COLOR_BLUE</strong> = 4<br>
-<strong>COLOR_CYAN</strong> = 6<br>
-<strong>COLOR_GREEN</strong> = 2<br>
-<strong>COLOR_MAGENTA</strong> = 5<br>
-<strong>COLOR_RED</strong> = 1<br>
-<strong>COLOR_WHITE</strong> = 7<br>
-<strong>COLOR_YELLOW</strong> = 3<br>
-<strong>ERR</strong> = -1<br>
-<strong>KEY_A1</strong> = 348<br>
-<strong>KEY_A3</strong> = 349<br>
-<strong>KEY_B2</strong> = 350<br>
-<strong>KEY_BACKSPACE</strong> = 263<br>
-<strong>KEY_BEG</strong> = 354<br>
-<strong>KEY_BREAK</strong> = 257<br>
-<strong>KEY_BTAB</strong> = 353<br>
-<strong>KEY_C1</strong> = 351<br>
-<strong>KEY_C3</strong> = 352<br>
-<strong>KEY_CANCEL</strong> = 355<br>
-<strong>KEY_CATAB</strong> = 342<br>
-<strong>KEY_CLEAR</strong> = 333<br>
-<strong>KEY_CLOSE</strong> = 356<br>
-<strong>KEY_COMMAND</strong> = 357<br>
-<strong>KEY_COPY</strong> = 358<br>
-<strong>KEY_CREATE</strong> = 359<br>
-<strong>KEY_CTAB</strong> = 341<br>
-<strong>KEY_DC</strong> = 330<br>
-<strong>KEY_DL</strong> = 328<br>
-<strong>KEY_DOWN</strong> = 258<br>
-<strong>KEY_EIC</strong> = 332<br>
-<strong>KEY_END</strong> = 360<br>
-<strong>KEY_ENTER</strong> = 343<br>
-<strong>KEY_EOL</strong> = 335<br>
-<strong>KEY_EOS</strong> = 334<br>
-<strong>KEY_EXIT</strong> = 361<br>
-<strong>KEY_F0</strong> = 264<br>
-<strong>KEY_F1</strong> = 265<br>
-<strong>KEY_F10</strong> = 274<br>
-<strong>KEY_F11</strong> = 275<br>
-<strong>KEY_F12</strong> = 276<br>
-<strong>KEY_F13</strong> = 277<br>
-<strong>KEY_F14</strong> = 278<br>
-<strong>KEY_F15</strong> = 279<br>
-<strong>KEY_F16</strong> = 280<br>
-<strong>KEY_F17</strong> = 281<br>
-<strong>KEY_F18</strong> = 282<br>
-<strong>KEY_F19</strong> = 283<br>
-<strong>KEY_F2</strong> = 266<br>
-<strong>KEY_F20</strong> = 284<br>
-<strong>KEY_F21</strong> = 285<br>
-<strong>KEY_F22</strong> = 286<br>
-<strong>KEY_F23</strong> = 287<br>
-<strong>KEY_F24</strong> = 288<br>
-<strong>KEY_F25</strong> = 289<br>
-<strong>KEY_F26</strong> = 290<br>
-<strong>KEY_F27</strong> = 291<br>
-<strong>KEY_F28</strong> = 292<br>
-<strong>KEY_F29</strong> = 293<br>
-<strong>KEY_F3</strong> = 267<br>
-<strong>KEY_F30</strong> = 294<br>
-<strong>KEY_F31</strong> = 295<br>
-<strong>KEY_F32</strong> = 296<br>
-<strong>KEY_F33</strong> = 297<br>
-<strong>KEY_F34</strong> = 298<br>
-<strong>KEY_F35</strong> = 299<br>
-<strong>KEY_F36</strong> = 300<br>
-<strong>KEY_F37</strong> = 301<br>
-<strong>KEY_F38</strong> = 302<br>
-<strong>KEY_F39</strong> = 303<br>
-<strong>KEY_F4</strong> = 268<br>
-<strong>KEY_F40</strong> = 304<br>
-<strong>KEY_F41</strong> = 305<br>
-<strong>KEY_F42</strong> = 306<br>
-<strong>KEY_F43</strong> = 307<br>
-<strong>KEY_F44</strong> = 308<br>
-<strong>KEY_F45</strong> = 309<br>
-<strong>KEY_F46</strong> = 310<br>
-<strong>KEY_F47</strong> = 311<br>
-<strong>KEY_F48</strong> = 312<br>
-<strong>KEY_F49</strong> = 313<br>
-<strong>KEY_F5</strong> = 269<br>
-<strong>KEY_F50</strong> = 314<br>
-<strong>KEY_F51</strong> = 315<br>
-<strong>KEY_F52</strong> = 316<br>
-<strong>KEY_F53</strong> = 317<br>
-<strong>KEY_F54</strong> = 318<br>
-<strong>KEY_F55</strong> = 319<br>
-<strong>KEY_F56</strong> = 320<br>
-<strong>KEY_F57</strong> = 321<br>
-<strong>KEY_F58</strong> = 322<br>
-<strong>KEY_F59</strong> = 323<br>
-<strong>KEY_F6</strong> = 270<br>
-<strong>KEY_F60</strong> = 324<br>
-<strong>KEY_F61</strong> = 325<br>
-<strong>KEY_F62</strong> = 326<br>
-<strong>KEY_F63</strong> = 327<br>
-<strong>KEY_F7</strong> = 271<br>
-<strong>KEY_F8</strong> = 272<br>
-<strong>KEY_F9</strong> = 273<br>
-<strong>KEY_FIND</strong> = 362<br>
-<strong>KEY_HELP</strong> = 363<br>
-<strong>KEY_HOME</strong> = 262<br>
-<strong>KEY_IC</strong> = 331<br>
-<strong>KEY_IL</strong> = 329<br>
-<strong>KEY_LEFT</strong> = 260<br>
-<strong>KEY_LL</strong> = 347<br>
-<strong>KEY_MARK</strong> = 364<br>
-<strong>KEY_MAX</strong> = 511<br>
-<strong>KEY_MESSAGE</strong> = 365<br>
-<strong>KEY_MIN</strong> = 257<br>
-<strong>KEY_MOUSE</strong> = 409<br>
-<strong>KEY_MOVE</strong> = 366<br>
-<strong>KEY_NEXT</strong> = 367<br>
-<strong>KEY_NPAGE</strong> = 338<br>
-<strong>KEY_OPEN</strong> = 368<br>
-<strong>KEY_OPTIONS</strong> = 369<br>
-<strong>KEY_PPAGE</strong> = 339<br>
-<strong>KEY_PREVIOUS</strong> = 370<br>
-<strong>KEY_PRINT</strong> = 346<br>
-<strong>KEY_REDO</strong> = 371<br>
-<strong>KEY_REFERENCE</strong> = 372<br>
-<strong>KEY_REFRESH</strong> = 373<br>
-<strong>KEY_REPLACE</strong> = 374<br>
-<strong>KEY_RESET</strong> = 345<br>
-<strong>KEY_RESIZE</strong> = 410<br>
-<strong>KEY_RESTART</strong> = 375<br>
-<strong>KEY_RESUME</strong> = 376<br>
-<strong>KEY_RIGHT</strong> = 261<br>
-<strong>KEY_SAVE</strong> = 377<br>
-<strong>KEY_SBEG</strong> = 378<br>
-<strong>KEY_SCANCEL</strong> = 379<br>
-<strong>KEY_SCOMMAND</strong> = 380<br>
-<strong>KEY_SCOPY</strong> = 381<br>
-<strong>KEY_SCREATE</strong> = 382<br>
-<strong>KEY_SDC</strong> = 383<br>
-<strong>KEY_SDL</strong> = 384<br>
-<strong>KEY_SELECT</strong> = 385<br>
-<strong>KEY_SEND</strong> = 386<br>
-<strong>KEY_SEOL</strong> = 387<br>
-<strong>KEY_SEXIT</strong> = 388<br>
-<strong>KEY_SF</strong> = 336<br>
-<strong>KEY_SFIND</strong> = 389<br>
-<strong>KEY_SHELP</strong> = 390<br>
-<strong>KEY_SHOME</strong> = 391<br>
-<strong>KEY_SIC</strong> = 392<br>
-<strong>KEY_SLEFT</strong> = 393<br>
-<strong>KEY_SMESSAGE</strong> = 394<br>
-<strong>KEY_SMOVE</strong> = 395<br>
-<strong>KEY_SNEXT</strong> = 396<br>
-<strong>KEY_SOPTIONS</strong> = 397<br>
-<strong>KEY_SPREVIOUS</strong> = 398<br>
-<strong>KEY_SPRINT</strong> = 399<br>
-<strong>KEY_SR</strong> = 337<br>
-<strong>KEY_SREDO</strong> = 400<br>
-<strong>KEY_SREPLACE</strong> = 401<br>
-<strong>KEY_SRESET</strong> = 344<br>
-<strong>KEY_SRIGHT</strong> = 402<br>
-<strong>KEY_SRSUME</strong> = 403<br>
-<strong>KEY_SSAVE</strong> = 404<br>
-<strong>KEY_SSUSPEND</strong> = 405<br>
-<strong>KEY_STAB</strong> = 340<br>
-<strong>KEY_SUNDO</strong> = 406<br>
-<strong>KEY_SUSPEND</strong> = 407<br>
-<strong>KEY_UNDO</strong> = 408<br>
-<strong>KEY_UP</strong> = 259<br>
-<strong>OK</strong> = 0<br>
-<strong>REPORT_MOUSE_POSITION</strong> = 134217728<br>
-<strong>__revision__</strong> = '$Id: __init__.py 61064 2008-02-25 16:29:58Z andrew.kuchling $'<br>
-<strong>version</strong> = '2.2'</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/make_doc.html b/doc/pydoc/make_doc.html
deleted file mode 100644
index 03a852f0..00000000
--- a/doc/pydoc/make_doc.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module make_doc</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>make_doc</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/make_doc.py">/home/hut/ranger/make_doc.py</a></font></td></tr></table>
-    <p><tt>Generate&nbsp;pydoc&nbsp;documentation&nbsp;and&nbsp;move&nbsp;it&nbsp;to&nbsp;the&nbsp;doc&nbsp;directory.<br>
-THIS&nbsp;WILL&nbsp;DELETE&nbsp;ALL&nbsp;EXISTING&nbsp;HTML&nbsp;FILES&nbsp;IN&nbsp;THAT&nbsp;DIRECTORY,&nbsp;so&nbsp;don't<br>
-store&nbsp;important&nbsp;content&nbsp;there.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top><a href="pydoc.html">pydoc</a><br>
-</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/os.html b/doc/pydoc/os.html
deleted file mode 100644
index b0b2b308..00000000
--- a/doc/pydoc/os.html
+++ /dev/null
@@ -1,949 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module os</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>os</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/lib/python2.6/os.py">/usr/lib/python2.6/os.py</a><br><a href="http://docs.python.org/library/os">Module Docs</a></font></td></tr></table>
-    <p><tt>OS&nbsp;routines&nbsp;for&nbsp;Mac,&nbsp;NT,&nbsp;or&nbsp;Posix&nbsp;depending&nbsp;on&nbsp;what&nbsp;system&nbsp;we're&nbsp;on.<br>
-&nbsp;<br>
-This&nbsp;exports:<br>
-&nbsp;&nbsp;-&nbsp;all&nbsp;functions&nbsp;from&nbsp;posix,&nbsp;nt,&nbsp;os2,&nbsp;or&nbsp;ce,&nbsp;e.g.&nbsp;unlink,&nbsp;stat,&nbsp;etc.<br>
-&nbsp;&nbsp;-&nbsp;os.path&nbsp;is&nbsp;one&nbsp;of&nbsp;the&nbsp;modules&nbsp;posixpath,&nbsp;or&nbsp;ntpath<br>
-&nbsp;&nbsp;-&nbsp;os.name&nbsp;is&nbsp;'posix',&nbsp;'nt',&nbsp;'os2',&nbsp;'ce'&nbsp;or&nbsp;'riscos'<br>
-&nbsp;&nbsp;-&nbsp;os.curdir&nbsp;is&nbsp;a&nbsp;string&nbsp;representing&nbsp;the&nbsp;current&nbsp;directory&nbsp;('.'&nbsp;or&nbsp;':')<br>
-&nbsp;&nbsp;-&nbsp;os.pardir&nbsp;is&nbsp;a&nbsp;string&nbsp;representing&nbsp;the&nbsp;parent&nbsp;directory&nbsp;('..'&nbsp;or&nbsp;'::')<br>
-&nbsp;&nbsp;-&nbsp;os.sep&nbsp;is&nbsp;the&nbsp;(or&nbsp;a&nbsp;most&nbsp;common)&nbsp;pathname&nbsp;separator&nbsp;('/'&nbsp;or&nbsp;':'&nbsp;or&nbsp;'\\')<br>
-&nbsp;&nbsp;-&nbsp;os.extsep&nbsp;is&nbsp;the&nbsp;extension&nbsp;separator&nbsp;('.'&nbsp;or&nbsp;'/')<br>
-&nbsp;&nbsp;-&nbsp;os.altsep&nbsp;is&nbsp;the&nbsp;alternate&nbsp;pathname&nbsp;separator&nbsp;(None&nbsp;or&nbsp;'/')<br>
-&nbsp;&nbsp;-&nbsp;os.pathsep&nbsp;is&nbsp;the&nbsp;component&nbsp;separator&nbsp;used&nbsp;in&nbsp;$PATH&nbsp;etc<br>
-&nbsp;&nbsp;-&nbsp;os.linesep&nbsp;is&nbsp;the&nbsp;line&nbsp;separator&nbsp;in&nbsp;text&nbsp;files&nbsp;('\r'&nbsp;or&nbsp;'\n'&nbsp;or&nbsp;'\r\n')<br>
-&nbsp;&nbsp;-&nbsp;os.defpath&nbsp;is&nbsp;the&nbsp;default&nbsp;search&nbsp;path&nbsp;for&nbsp;executables<br>
-&nbsp;&nbsp;-&nbsp;os.devnull&nbsp;is&nbsp;the&nbsp;file&nbsp;path&nbsp;of&nbsp;the&nbsp;null&nbsp;device&nbsp;('/dev/null',&nbsp;etc.)<br>
-&nbsp;<br>
-Programs&nbsp;that&nbsp;import&nbsp;and&nbsp;use&nbsp;'os'&nbsp;stand&nbsp;a&nbsp;better&nbsp;chance&nbsp;of&nbsp;being<br>
-portable&nbsp;between&nbsp;different&nbsp;platforms.&nbsp;&nbsp;Of&nbsp;course,&nbsp;they&nbsp;must&nbsp;then<br>
-only&nbsp;use&nbsp;functions&nbsp;that&nbsp;are&nbsp;defined&nbsp;by&nbsp;all&nbsp;platforms&nbsp;(e.g.,&nbsp;unlink<br>
-and&nbsp;opendir),&nbsp;and&nbsp;leave&nbsp;all&nbsp;pathname&nbsp;manipulation&nbsp;to&nbsp;os.path<br>
-(e.g.,&nbsp;split&nbsp;and&nbsp;join).</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="UserDict.html">UserDict</a><br>
-<a href="copy_reg.html">copy_reg</a><br>
-</td><td width="25%" valign=top><a href="errno.html">errno</a><br>
-<a href="posixpath.html">posixpath</a><br>
-</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="posix.html#stat_result">posix.stat_result</a>
-</font></dt><dt><font face="helvetica, arial"><a href="posix.html#statvfs_result">posix.statvfs_result</a>
-</font></dt></dl>
-</dd>
-<dt><font face="helvetica, arial"><a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a>(<a href="exceptions.html#StandardError">exceptions.StandardError</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="exceptions.html#OSError">exceptions.OSError</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><strong>error</strong> = <a name="error">class OSError</a>(<a href="exceptions.html#EnvironmentError">EnvironmentError</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>OS&nbsp;system&nbsp;call&nbsp;failed.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="exceptions.html#OSError">OSError</a></dd>
-<dd><a href="exceptions.html#EnvironmentError">EnvironmentError</a></dd>
-<dd><a href="exceptions.html#StandardError">StandardError</a></dd>
-<dd><a href="exceptions.html#Exception">Exception</a></dd>
-<dd><a href="exceptions.html#BaseException">BaseException</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="OSError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7034f80&gt;<dd><tt>T.<a href="#error-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
-
-<hr>
-Methods inherited from <a href="exceptions.html#EnvironmentError">EnvironmentError</a>:<br>
-<dl><dt><a name="OSError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
-
-<dl><dt><a name="OSError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
-
-<hr>
-Data descriptors inherited from <a href="exceptions.html#EnvironmentError">EnvironmentError</a>:<br>
-<dl><dt><strong>errno</strong></dt>
-<dd><tt>exception&nbsp;errno</tt></dd>
-</dl>
-<dl><dt><strong>filename</strong></dt>
-<dd><tt>exception&nbsp;filename</tt></dd>
-</dl>
-<dl><dt><strong>strerror</strong></dt>
-<dd><tt>exception&nbsp;strerror</tt></dd>
-</dl>
-<hr>
-Methods inherited from <a href="exceptions.html#BaseException">BaseException</a>:<br>
-<dl><dt><a name="OSError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="OSError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="OSError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
-
-<dl><dt><a name="OSError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
-&nbsp;<br>
-Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
-
-<dl><dt><a name="OSError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
-
-<dl><dt><a name="OSError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#error-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
-
-<dl><dt><a name="OSError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
-
-<dl><dt><a name="OSError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
-
-<hr>
-Data descriptors inherited from <a href="exceptions.html#BaseException">BaseException</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-</dl>
-<dl><dt><strong>args</strong></dt>
-</dl>
-<dl><dt><strong>message</strong></dt>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="stat_result">class <strong>stat_result</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt><a href="#stat_result">stat_result</a>:&nbsp;Result&nbsp;from&nbsp;stat&nbsp;or&nbsp;lstat.<br>
-&nbsp;<br>
-This&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;may&nbsp;be&nbsp;accessed&nbsp;either&nbsp;as&nbsp;a&nbsp;tuple&nbsp;of<br>
-&nbsp;&nbsp;(mode,&nbsp;ino,&nbsp;dev,&nbsp;nlink,&nbsp;uid,&nbsp;gid,&nbsp;size,&nbsp;atime,&nbsp;mtime,&nbsp;ctime)<br>
-or&nbsp;via&nbsp;the&nbsp;attributes&nbsp;st_mode,&nbsp;st_ino,&nbsp;st_dev,&nbsp;st_nlink,&nbsp;st_uid,&nbsp;and&nbsp;so&nbsp;on.<br>
-&nbsp;<br>
-Posix/windows:&nbsp;If&nbsp;your&nbsp;platform&nbsp;supports&nbsp;st_blksize,&nbsp;st_blocks,&nbsp;st_rdev,<br>
-or&nbsp;st_flags,&nbsp;they&nbsp;are&nbsp;available&nbsp;as&nbsp;attributes&nbsp;only.<br>
-&nbsp;<br>
-See&nbsp;os.stat&nbsp;for&nbsp;more&nbsp;information.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="stat_result-__add__"><strong>__add__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__add__">__add__</a>(y)&nbsp;&lt;==&gt;&nbsp;x+y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__contains__">__contains__</a>(y)&nbsp;&lt;==&gt;&nbsp;y&nbsp;in&nbsp;x</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__eq__">__eq__</a>(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__ge__">__ge__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
-&nbsp;<br>
-Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__gt__">__gt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__hash__">__hash__</a>()&nbsp;&lt;==&gt;&nbsp;hash(x)</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__le__">__le__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__len__">__len__</a>()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__lt__">__lt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__mul__"><strong>__mul__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__mul__">__mul__</a>(n)&nbsp;&lt;==&gt;&nbsp;x*n</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__ne__">__ne__</a>(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
-
-<dl><dt><a name="stat_result-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
-
-<dl><dt><a name="stat_result-__rmul__"><strong>__rmul__</strong></a>(...)</dt><dd><tt>x.<a href="#stat_result-__rmul__">__rmul__</a>(n)&nbsp;&lt;==&gt;&nbsp;n*x</tt></dd></dl>
-
-<hr>
-Data descriptors defined here:<br>
-<dl><dt><strong>st_atime</strong></dt>
-<dd><tt>time&nbsp;of&nbsp;last&nbsp;access</tt></dd>
-</dl>
-<dl><dt><strong>st_blksize</strong></dt>
-<dd><tt>blocksize&nbsp;for&nbsp;filesystem&nbsp;I/O</tt></dd>
-</dl>
-<dl><dt><strong>st_blocks</strong></dt>
-<dd><tt>number&nbsp;of&nbsp;blocks&nbsp;allocated</tt></dd>
-</dl>
-<dl><dt><strong>st_ctime</strong></dt>
-<dd><tt>time&nbsp;of&nbsp;last&nbsp;change</tt></dd>
-</dl>
-<dl><dt><strong>st_dev</strong></dt>
-<dd><tt>device</tt></dd>
-</dl>
-<dl><dt><strong>st_gid</strong></dt>
-<dd><tt>group&nbsp;ID&nbsp;of&nbsp;owner</tt></dd>
-</dl>
-<dl><dt><strong>st_ino</strong></dt>
-<dd><tt>inode</tt></dd>
-</dl>
-<dl><dt><strong>st_mode</strong></dt>
-<dd><tt>protection&nbsp;bits</tt></dd>
-</dl>
-<dl><dt><strong>st_mtime</strong></dt>
-<dd><tt>time&nbsp;of&nbsp;last&nbsp;modification</tt></dd>
-</dl>
-<dl><dt><strong>st_nlink</strong></dt>
-<dd><tt>number&nbsp;of&nbsp;hard&nbsp;links</tt></dd>
-</dl>
-<dl><dt><strong>st_rdev</strong></dt>
-<dd><tt>device&nbsp;type&nbsp;(if&nbsp;inode&nbsp;device)</tt></dd>
-</dl>
-<dl><dt><strong>st_size</strong></dt>
-<dd><tt>total&nbsp;size,&nbsp;in&nbsp;bytes</tt></dd>
-</dl>
-<dl><dt><strong>st_uid</strong></dt>
-<dd><tt>user&nbsp;ID&nbsp;of&nbsp;owner</tt></dd>
-</dl>
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7073800&gt;<dd><tt>T.<a href="#stat_result-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
-
-<dl><dt><strong>n_fields</strong> = 16</dl>
-
-<dl><dt><strong>n_sequence_fields</strong> = 10</dl>
-
-<dl><dt><strong>n_unnamed_fields</strong> = 3</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="statvfs_result">class <strong>statvfs_result</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt><a href="#statvfs_result">statvfs_result</a>:&nbsp;Result&nbsp;from&nbsp;statvfs&nbsp;or&nbsp;fstatvfs.<br>
-&nbsp;<br>
-This&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;may&nbsp;be&nbsp;accessed&nbsp;either&nbsp;as&nbsp;a&nbsp;tuple&nbsp;of<br>
-&nbsp;&nbsp;(bsize,&nbsp;frsize,&nbsp;blocks,&nbsp;bfree,&nbsp;bavail,&nbsp;files,&nbsp;ffree,&nbsp;favail,&nbsp;flag,&nbsp;namemax),<br>
-or&nbsp;via&nbsp;the&nbsp;attributes&nbsp;f_bsize,&nbsp;f_frsize,&nbsp;f_blocks,&nbsp;f_bfree,&nbsp;and&nbsp;so&nbsp;on.<br>
-&nbsp;<br>
-See&nbsp;os.statvfs&nbsp;for&nbsp;more&nbsp;information.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="statvfs_result-__add__"><strong>__add__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__add__">__add__</a>(y)&nbsp;&lt;==&gt;&nbsp;x+y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__contains__">__contains__</a>(y)&nbsp;&lt;==&gt;&nbsp;y&nbsp;in&nbsp;x</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__eq__">__eq__</a>(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__ge__">__ge__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
-&nbsp;<br>
-Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__gt__">__gt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__hash__">__hash__</a>()&nbsp;&lt;==&gt;&nbsp;hash(x)</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__le__">__le__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__len__">__len__</a>()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__lt__">__lt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__mul__"><strong>__mul__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__mul__">__mul__</a>(n)&nbsp;&lt;==&gt;&nbsp;x*n</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__ne__">__ne__</a>(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
-
-<dl><dt><a name="statvfs_result-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
-
-<dl><dt><a name="statvfs_result-__rmul__"><strong>__rmul__</strong></a>(...)</dt><dd><tt>x.<a href="#statvfs_result-__rmul__">__rmul__</a>(n)&nbsp;&lt;==&gt;&nbsp;n*x</tt></dd></dl>
-
-<hr>
-Data descriptors defined here:<br>
-<dl><dt><strong>f_bavail</strong></dt>
-</dl>
-<dl><dt><strong>f_bfree</strong></dt>
-</dl>
-<dl><dt><strong>f_blocks</strong></dt>
-</dl>
-<dl><dt><strong>f_bsize</strong></dt>
-</dl>
-<dl><dt><strong>f_favail</strong></dt>
-</dl>
-<dl><dt><strong>f_ffree</strong></dt>
-</dl>
-<dl><dt><strong>f_files</strong></dt>
-</dl>
-<dl><dt><strong>f_flag</strong></dt>
-</dl>
-<dl><dt><strong>f_frsize</strong></dt>
-</dl>
-<dl><dt><strong>f_namemax</strong></dt>
-</dl>
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe70739a0&gt;<dd><tt>T.<a href="#statvfs_result-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
-
-<dl><dt><strong>n_fields</strong> = 10</dl>
-
-<dl><dt><strong>n_sequence_fields</strong> = 10</dl>
-
-<dl><dt><strong>n_unnamed_fields</strong> = 0</dl>
-
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-WCOREDUMP"><strong>WCOREDUMP</strong></a>(...)</dt><dd><tt><a href="#-WCOREDUMP">WCOREDUMP</a>(status)&nbsp;-&gt;&nbsp;bool<br>
-&nbsp;<br>
-Return&nbsp;True&nbsp;if&nbsp;the&nbsp;process&nbsp;returning&nbsp;'status'&nbsp;was&nbsp;dumped&nbsp;to&nbsp;a&nbsp;core&nbsp;file.</tt></dd></dl>
- <dl><dt><a name="-WEXITSTATUS"><strong>WEXITSTATUS</strong></a>(...)</dt><dd><tt><a href="#-WEXITSTATUS">WEXITSTATUS</a>(status)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;process&nbsp;return&nbsp;code&nbsp;from&nbsp;'status'.</tt></dd></dl>
- <dl><dt><a name="-WIFCONTINUED"><strong>WIFCONTINUED</strong></a>(...)</dt><dd><tt><a href="#-WIFCONTINUED">WIFCONTINUED</a>(status)&nbsp;-&gt;&nbsp;bool<br>
-&nbsp;<br>
-Return&nbsp;True&nbsp;if&nbsp;the&nbsp;process&nbsp;returning&nbsp;'status'&nbsp;was&nbsp;continued&nbsp;from&nbsp;a<br>
-job&nbsp;control&nbsp;stop.</tt></dd></dl>
- <dl><dt><a name="-WIFEXITED"><strong>WIFEXITED</strong></a>(...)</dt><dd><tt><a href="#-WIFEXITED">WIFEXITED</a>(status)&nbsp;-&gt;&nbsp;bool<br>
-&nbsp;<br>
-Return&nbsp;true&nbsp;if&nbsp;the&nbsp;process&nbsp;returning&nbsp;'status'&nbsp;exited&nbsp;using&nbsp;the&nbsp;exit()<br>
-system&nbsp;call.</tt></dd></dl>
- <dl><dt><a name="-WIFSIGNALED"><strong>WIFSIGNALED</strong></a>(...)</dt><dd><tt><a href="#-WIFSIGNALED">WIFSIGNALED</a>(status)&nbsp;-&gt;&nbsp;bool<br>
-&nbsp;<br>
-Return&nbsp;True&nbsp;if&nbsp;the&nbsp;process&nbsp;returning&nbsp;'status'&nbsp;was&nbsp;terminated&nbsp;by&nbsp;a&nbsp;signal.</tt></dd></dl>
- <dl><dt><a name="-WIFSTOPPED"><strong>WIFSTOPPED</strong></a>(...)</dt><dd><tt><a href="#-WIFSTOPPED">WIFSTOPPED</a>(status)&nbsp;-&gt;&nbsp;bool<br>
-&nbsp;<br>
-Return&nbsp;True&nbsp;if&nbsp;the&nbsp;process&nbsp;returning&nbsp;'status'&nbsp;was&nbsp;stopped.</tt></dd></dl>
- <dl><dt><a name="-WSTOPSIG"><strong>WSTOPSIG</strong></a>(...)</dt><dd><tt><a href="#-WSTOPSIG">WSTOPSIG</a>(status)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;signal&nbsp;that&nbsp;stopped&nbsp;the&nbsp;process&nbsp;that&nbsp;provided<br>
-the&nbsp;'status'&nbsp;value.</tt></dd></dl>
- <dl><dt><a name="-WTERMSIG"><strong>WTERMSIG</strong></a>(...)</dt><dd><tt><a href="#-WTERMSIG">WTERMSIG</a>(status)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;signal&nbsp;that&nbsp;terminated&nbsp;the&nbsp;process&nbsp;that&nbsp;provided&nbsp;the&nbsp;'status'<br>
-value.</tt></dd></dl>
- <dl><dt><a name="-abort"><strong>abort</strong></a>(...)</dt><dd><tt><a href="#-abort">abort</a>()&nbsp;-&gt;&nbsp;does&nbsp;not&nbsp;return!<br>
-&nbsp;<br>
-Abort&nbsp;the&nbsp;interpreter&nbsp;immediately.&nbsp;&nbsp;This&nbsp;'dumps&nbsp;core'&nbsp;or&nbsp;otherwise&nbsp;fails<br>
-in&nbsp;the&nbsp;hardest&nbsp;way&nbsp;possible&nbsp;on&nbsp;the&nbsp;hosting&nbsp;operating&nbsp;system.</tt></dd></dl>
- <dl><dt><a name="-access"><strong>access</strong></a>(...)</dt><dd><tt><a href="#-access">access</a>(path,&nbsp;mode)&nbsp;-&gt;&nbsp;True&nbsp;if&nbsp;granted,&nbsp;False&nbsp;otherwise<br>
-&nbsp;<br>
-Use&nbsp;the&nbsp;real&nbsp;uid/gid&nbsp;to&nbsp;test&nbsp;for&nbsp;access&nbsp;to&nbsp;a&nbsp;path.&nbsp;&nbsp;Note&nbsp;that&nbsp;most<br>
-operations&nbsp;will&nbsp;use&nbsp;the&nbsp;effective&nbsp;uid/gid,&nbsp;therefore&nbsp;this&nbsp;routine&nbsp;can<br>
-be&nbsp;used&nbsp;in&nbsp;a&nbsp;suid/sgid&nbsp;environment&nbsp;to&nbsp;test&nbsp;if&nbsp;the&nbsp;invoking&nbsp;user&nbsp;has&nbsp;the<br>
-specified&nbsp;access&nbsp;to&nbsp;the&nbsp;path.&nbsp;&nbsp;The&nbsp;mode&nbsp;argument&nbsp;can&nbsp;be&nbsp;F_OK&nbsp;to&nbsp;test<br>
-existence,&nbsp;or&nbsp;the&nbsp;inclusive-OR&nbsp;of&nbsp;R_OK,&nbsp;W_OK,&nbsp;and&nbsp;X_OK.</tt></dd></dl>
- <dl><dt><a name="-chdir"><strong>chdir</strong></a>(...)</dt><dd><tt><a href="#-chdir">chdir</a>(path)<br>
-&nbsp;<br>
-Change&nbsp;the&nbsp;current&nbsp;working&nbsp;directory&nbsp;to&nbsp;the&nbsp;specified&nbsp;path.</tt></dd></dl>
- <dl><dt><a name="-chmod"><strong>chmod</strong></a>(...)</dt><dd><tt><a href="#-chmod">chmod</a>(path,&nbsp;mode)<br>
-&nbsp;<br>
-Change&nbsp;the&nbsp;access&nbsp;permissions&nbsp;of&nbsp;a&nbsp;file.</tt></dd></dl>
- <dl><dt><a name="-chown"><strong>chown</strong></a>(...)</dt><dd><tt><a href="#-chown">chown</a>(path,&nbsp;uid,&nbsp;gid)<br>
-&nbsp;<br>
-Change&nbsp;the&nbsp;owner&nbsp;and&nbsp;group&nbsp;id&nbsp;of&nbsp;path&nbsp;to&nbsp;the&nbsp;numeric&nbsp;uid&nbsp;and&nbsp;gid.</tt></dd></dl>
- <dl><dt><a name="-chroot"><strong>chroot</strong></a>(...)</dt><dd><tt><a href="#-chroot">chroot</a>(path)<br>
-&nbsp;<br>
-Change&nbsp;root&nbsp;directory&nbsp;to&nbsp;path.</tt></dd></dl>
- <dl><dt><a name="-close"><strong>close</strong></a>(...)</dt><dd><tt><a href="#-close">close</a>(fd)<br>
-&nbsp;<br>
-Close&nbsp;a&nbsp;file&nbsp;descriptor&nbsp;(for&nbsp;low&nbsp;level&nbsp;IO).</tt></dd></dl>
- <dl><dt><a name="-closerange"><strong>closerange</strong></a>(...)</dt><dd><tt><a href="#-closerange">closerange</a>(fd_low,&nbsp;fd_high)<br>
-&nbsp;<br>
-Closes&nbsp;all&nbsp;file&nbsp;descriptors&nbsp;in&nbsp;[fd_low,&nbsp;fd_high),&nbsp;ignoring&nbsp;errors.</tt></dd></dl>
- <dl><dt><a name="-confstr"><strong>confstr</strong></a>(...)</dt><dd><tt><a href="#-confstr">confstr</a>(name)&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;string-valued&nbsp;system&nbsp;configuration&nbsp;variable.</tt></dd></dl>
- <dl><dt><a name="-ctermid"><strong>ctermid</strong></a>(...)</dt><dd><tt><a href="#-ctermid">ctermid</a>()&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;controlling&nbsp;terminal&nbsp;for&nbsp;this&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-dup"><strong>dup</strong></a>(...)</dt><dd><tt><a href="#-dup">dup</a>(fd)&nbsp;-&gt;&nbsp;fd2<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;duplicate&nbsp;of&nbsp;a&nbsp;file&nbsp;descriptor.</tt></dd></dl>
- <dl><dt><a name="-dup2"><strong>dup2</strong></a>(...)</dt><dd><tt><a href="#-dup2">dup2</a>(old_fd,&nbsp;new_fd)<br>
-&nbsp;<br>
-Duplicate&nbsp;file&nbsp;descriptor.</tt></dd></dl>
- <dl><dt><a name="-execl"><strong>execl</strong></a>(file, *args)</dt><dd><tt><a href="#-execl">execl</a>(file,&nbsp;*args)<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;executable&nbsp;file&nbsp;with&nbsp;argument&nbsp;list&nbsp;args,&nbsp;replacing&nbsp;the<br>
-current&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-execle"><strong>execle</strong></a>(file, *args)</dt><dd><tt><a href="#-execle">execle</a>(file,&nbsp;*args,&nbsp;env)<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;executable&nbsp;file&nbsp;with&nbsp;argument&nbsp;list&nbsp;args&nbsp;and<br>
-environment&nbsp;env,&nbsp;replacing&nbsp;the&nbsp;current&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-execlp"><strong>execlp</strong></a>(file, *args)</dt><dd><tt><a href="#-execlp">execlp</a>(file,&nbsp;*args)<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;executable&nbsp;file&nbsp;(which&nbsp;is&nbsp;searched&nbsp;for&nbsp;along&nbsp;$PATH)<br>
-with&nbsp;argument&nbsp;list&nbsp;args,&nbsp;replacing&nbsp;the&nbsp;current&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-execlpe"><strong>execlpe</strong></a>(file, *args)</dt><dd><tt><a href="#-execlpe">execlpe</a>(file,&nbsp;*args,&nbsp;env)<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;executable&nbsp;file&nbsp;(which&nbsp;is&nbsp;searched&nbsp;for&nbsp;along&nbsp;$PATH)<br>
-with&nbsp;argument&nbsp;list&nbsp;args&nbsp;and&nbsp;environment&nbsp;env,&nbsp;replacing&nbsp;the&nbsp;current<br>
-process.</tt></dd></dl>
- <dl><dt><a name="-execv"><strong>execv</strong></a>(...)</dt><dd><tt><a href="#-execv">execv</a>(path,&nbsp;args)<br>
-&nbsp;<br>
-Execute&nbsp;an&nbsp;executable&nbsp;path&nbsp;with&nbsp;arguments,&nbsp;replacing&nbsp;current&nbsp;process.<br>
-&nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path:&nbsp;path&nbsp;of&nbsp;executable&nbsp;file<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args:&nbsp;tuple&nbsp;or&nbsp;list&nbsp;of&nbsp;strings</tt></dd></dl>
- <dl><dt><a name="-execve"><strong>execve</strong></a>(...)</dt><dd><tt><a href="#-execve">execve</a>(path,&nbsp;args,&nbsp;env)<br>
-&nbsp;<br>
-Execute&nbsp;a&nbsp;path&nbsp;with&nbsp;arguments&nbsp;and&nbsp;environment,&nbsp;replacing&nbsp;current&nbsp;process.<br>
-&nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path:&nbsp;path&nbsp;of&nbsp;executable&nbsp;file<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args:&nbsp;tuple&nbsp;or&nbsp;list&nbsp;of&nbsp;arguments<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;env:&nbsp;dictionary&nbsp;of&nbsp;strings&nbsp;mapping&nbsp;to&nbsp;strings</tt></dd></dl>
- <dl><dt><a name="-execvp"><strong>execvp</strong></a>(file, args)</dt><dd><tt>execp(file,&nbsp;args)<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;executable&nbsp;file&nbsp;(which&nbsp;is&nbsp;searched&nbsp;for&nbsp;along&nbsp;$PATH)<br>
-with&nbsp;argument&nbsp;list&nbsp;args,&nbsp;replacing&nbsp;the&nbsp;current&nbsp;process.<br>
-args&nbsp;may&nbsp;be&nbsp;a&nbsp;list&nbsp;or&nbsp;tuple&nbsp;of&nbsp;strings.</tt></dd></dl>
- <dl><dt><a name="-execvpe"><strong>execvpe</strong></a>(file, args, env)</dt><dd><tt><a href="#-execvpe">execvpe</a>(file,&nbsp;args,&nbsp;env)<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;executable&nbsp;file&nbsp;(which&nbsp;is&nbsp;searched&nbsp;for&nbsp;along&nbsp;$PATH)<br>
-with&nbsp;argument&nbsp;list&nbsp;args&nbsp;and&nbsp;environment&nbsp;env&nbsp;,&nbsp;replacing&nbsp;the<br>
-current&nbsp;process.<br>
-args&nbsp;may&nbsp;be&nbsp;a&nbsp;list&nbsp;or&nbsp;tuple&nbsp;of&nbsp;strings.</tt></dd></dl>
- <dl><dt><a name="-fchdir"><strong>fchdir</strong></a>(...)</dt><dd><tt><a href="#-fchdir">fchdir</a>(fildes)<br>
-&nbsp;<br>
-Change&nbsp;to&nbsp;the&nbsp;directory&nbsp;of&nbsp;the&nbsp;given&nbsp;file&nbsp;descriptor.&nbsp;&nbsp;fildes&nbsp;must&nbsp;be<br>
-opened&nbsp;on&nbsp;a&nbsp;directory,&nbsp;not&nbsp;a&nbsp;file.</tt></dd></dl>
- <dl><dt><a name="-fchmod"><strong>fchmod</strong></a>(...)</dt><dd><tt><a href="#-fchmod">fchmod</a>(fd,&nbsp;mode)<br>
-&nbsp;<br>
-Change&nbsp;the&nbsp;access&nbsp;permissions&nbsp;of&nbsp;the&nbsp;file&nbsp;given&nbsp;by&nbsp;file<br>
-descriptor&nbsp;fd.</tt></dd></dl>
- <dl><dt><a name="-fchown"><strong>fchown</strong></a>(...)</dt><dd><tt><a href="#-fchown">fchown</a>(fd,&nbsp;uid,&nbsp;gid)<br>
-&nbsp;<br>
-Change&nbsp;the&nbsp;owner&nbsp;and&nbsp;group&nbsp;id&nbsp;of&nbsp;the&nbsp;file&nbsp;given&nbsp;by&nbsp;file&nbsp;descriptor<br>
-fd&nbsp;to&nbsp;the&nbsp;numeric&nbsp;uid&nbsp;and&nbsp;gid.</tt></dd></dl>
- <dl><dt><a name="-fdatasync"><strong>fdatasync</strong></a>(...)</dt><dd><tt><a href="#-fdatasync">fdatasync</a>(fildes)<br>
-&nbsp;<br>
-force&nbsp;write&nbsp;of&nbsp;file&nbsp;with&nbsp;filedescriptor&nbsp;to&nbsp;disk.<br>
-&nbsp;does&nbsp;not&nbsp;force&nbsp;update&nbsp;of&nbsp;metadata.</tt></dd></dl>
- <dl><dt><a name="-fdopen"><strong>fdopen</strong></a>(...)</dt><dd><tt><a href="#-fdopen">fdopen</a>(fd&nbsp;[,&nbsp;mode='r'&nbsp;[,&nbsp;bufsize]])&nbsp;-&gt;&nbsp;file_object<br>
-&nbsp;<br>
-Return&nbsp;an&nbsp;open&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;connected&nbsp;to&nbsp;a&nbsp;file&nbsp;descriptor.</tt></dd></dl>
- <dl><dt><a name="-fork"><strong>fork</strong></a>(...)</dt><dd><tt><a href="#-fork">fork</a>()&nbsp;-&gt;&nbsp;pid<br>
-&nbsp;<br>
-Fork&nbsp;a&nbsp;child&nbsp;process.<br>
-Return&nbsp;0&nbsp;to&nbsp;child&nbsp;process&nbsp;and&nbsp;PID&nbsp;of&nbsp;child&nbsp;to&nbsp;parent&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-forkpty"><strong>forkpty</strong></a>(...)</dt><dd><tt><a href="#-forkpty">forkpty</a>()&nbsp;-&gt;&nbsp;(pid,&nbsp;master_fd)<br>
-&nbsp;<br>
-Fork&nbsp;a&nbsp;new&nbsp;process&nbsp;with&nbsp;a&nbsp;new&nbsp;pseudo-terminal&nbsp;as&nbsp;controlling&nbsp;tty.<br>
-&nbsp;<br>
-Like&nbsp;<a href="#-fork">fork</a>(),&nbsp;return&nbsp;0&nbsp;as&nbsp;pid&nbsp;to&nbsp;child&nbsp;process,&nbsp;and&nbsp;PID&nbsp;of&nbsp;child&nbsp;to&nbsp;parent.<br>
-To&nbsp;both,&nbsp;return&nbsp;fd&nbsp;of&nbsp;newly&nbsp;opened&nbsp;pseudo-terminal.</tt></dd></dl>
- <dl><dt><a name="-fpathconf"><strong>fpathconf</strong></a>(...)</dt><dd><tt><a href="#-fpathconf">fpathconf</a>(fd,&nbsp;name)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;configuration&nbsp;limit&nbsp;name&nbsp;for&nbsp;the&nbsp;file&nbsp;descriptor&nbsp;fd.<br>
-If&nbsp;there&nbsp;is&nbsp;no&nbsp;limit,&nbsp;return&nbsp;-1.</tt></dd></dl>
- <dl><dt><a name="-fstat"><strong>fstat</strong></a>(...)</dt><dd><tt><a href="#-fstat">fstat</a>(fd)&nbsp;-&gt;&nbsp;stat&nbsp;result<br>
-&nbsp;<br>
-Like&nbsp;<a href="#-stat">stat</a>(),&nbsp;but&nbsp;for&nbsp;an&nbsp;open&nbsp;file&nbsp;descriptor.</tt></dd></dl>
- <dl><dt><a name="-fstatvfs"><strong>fstatvfs</strong></a>(...)</dt><dd><tt><a href="#-fstatvfs">fstatvfs</a>(fd)&nbsp;-&gt;&nbsp;statvfs&nbsp;result<br>
-&nbsp;<br>
-Perform&nbsp;an&nbsp;fstatvfs&nbsp;system&nbsp;call&nbsp;on&nbsp;the&nbsp;given&nbsp;fd.</tt></dd></dl>
- <dl><dt><a name="-fsync"><strong>fsync</strong></a>(...)</dt><dd><tt><a href="#-fsync">fsync</a>(fildes)<br>
-&nbsp;<br>
-force&nbsp;write&nbsp;of&nbsp;file&nbsp;with&nbsp;filedescriptor&nbsp;to&nbsp;disk.</tt></dd></dl>
- <dl><dt><a name="-ftruncate"><strong>ftruncate</strong></a>(...)</dt><dd><tt><a href="#-ftruncate">ftruncate</a>(fd,&nbsp;length)<br>
-&nbsp;<br>
-Truncate&nbsp;a&nbsp;file&nbsp;to&nbsp;a&nbsp;specified&nbsp;length.</tt></dd></dl>
- <dl><dt><a name="-getcwd"><strong>getcwd</strong></a>(...)</dt><dd><tt><a href="#-getcwd">getcwd</a>()&nbsp;-&gt;&nbsp;path<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;string&nbsp;representing&nbsp;the&nbsp;current&nbsp;working&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-getcwdu"><strong>getcwdu</strong></a>(...)</dt><dd><tt><a href="#-getcwdu">getcwdu</a>()&nbsp;-&gt;&nbsp;path<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;unicode&nbsp;string&nbsp;representing&nbsp;the&nbsp;current&nbsp;working&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-getegid"><strong>getegid</strong></a>(...)</dt><dd><tt><a href="#-getegid">getegid</a>()&nbsp;-&gt;&nbsp;egid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;process's&nbsp;effective&nbsp;group&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-getenv"><strong>getenv</strong></a>(key, default<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;an&nbsp;environment&nbsp;variable,&nbsp;return&nbsp;None&nbsp;if&nbsp;it&nbsp;doesn't&nbsp;exist.<br>
-The&nbsp;optional&nbsp;second&nbsp;argument&nbsp;can&nbsp;specify&nbsp;an&nbsp;alternate&nbsp;default.</tt></dd></dl>
- <dl><dt><a name="-geteuid"><strong>geteuid</strong></a>(...)</dt><dd><tt><a href="#-geteuid">geteuid</a>()&nbsp;-&gt;&nbsp;euid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;process's&nbsp;effective&nbsp;user&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-getgid"><strong>getgid</strong></a>(...)</dt><dd><tt><a href="#-getgid">getgid</a>()&nbsp;-&gt;&nbsp;gid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;process's&nbsp;group&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-getgroups"><strong>getgroups</strong></a>(...)</dt><dd><tt><a href="#-getgroups">getgroups</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;group&nbsp;IDs<br>
-&nbsp;<br>
-Return&nbsp;list&nbsp;of&nbsp;supplemental&nbsp;group&nbsp;IDs&nbsp;for&nbsp;the&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-getloadavg"><strong>getloadavg</strong></a>(...)</dt><dd><tt><a href="#-getloadavg">getloadavg</a>()&nbsp;-&gt;&nbsp;(float,&nbsp;float,&nbsp;float)<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;number&nbsp;of&nbsp;processes&nbsp;in&nbsp;the&nbsp;system&nbsp;run&nbsp;queue&nbsp;averaged&nbsp;over<br>
-the&nbsp;last&nbsp;1,&nbsp;5,&nbsp;and&nbsp;15&nbsp;minutes&nbsp;or&nbsp;raises&nbsp;OSError&nbsp;if&nbsp;the&nbsp;load&nbsp;average<br>
-was&nbsp;unobtainable</tt></dd></dl>
- <dl><dt><a name="-getlogin"><strong>getlogin</strong></a>(...)</dt><dd><tt><a href="#-getlogin">getlogin</a>()&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;actual&nbsp;login&nbsp;name.</tt></dd></dl>
- <dl><dt><a name="-getpgid"><strong>getpgid</strong></a>(...)</dt><dd><tt><a href="#-getpgid">getpgid</a>(pid)&nbsp;-&gt;&nbsp;pgid<br>
-&nbsp;<br>
-Call&nbsp;the&nbsp;system&nbsp;call&nbsp;<a href="#-getpgid">getpgid</a>().</tt></dd></dl>
- <dl><dt><a name="-getpgrp"><strong>getpgrp</strong></a>(...)</dt><dd><tt><a href="#-getpgrp">getpgrp</a>()&nbsp;-&gt;&nbsp;pgrp<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;process&nbsp;group&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-getpid"><strong>getpid</strong></a>(...)</dt><dd><tt><a href="#-getpid">getpid</a>()&nbsp;-&gt;&nbsp;pid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;process&nbsp;id</tt></dd></dl>
- <dl><dt><a name="-getppid"><strong>getppid</strong></a>(...)</dt><dd><tt><a href="#-getppid">getppid</a>()&nbsp;-&gt;&nbsp;ppid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;parent's&nbsp;process&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-getsid"><strong>getsid</strong></a>(...)</dt><dd><tt><a href="#-getsid">getsid</a>(pid)&nbsp;-&gt;&nbsp;sid<br>
-&nbsp;<br>
-Call&nbsp;the&nbsp;system&nbsp;call&nbsp;<a href="#-getsid">getsid</a>().</tt></dd></dl>
- <dl><dt><a name="-getuid"><strong>getuid</strong></a>(...)</dt><dd><tt><a href="#-getuid">getuid</a>()&nbsp;-&gt;&nbsp;uid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;process's&nbsp;user&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-isatty"><strong>isatty</strong></a>(...)</dt><dd><tt><a href="#-isatty">isatty</a>(fd)&nbsp;-&gt;&nbsp;bool<br>
-&nbsp;<br>
-Return&nbsp;True&nbsp;if&nbsp;the&nbsp;file&nbsp;descriptor&nbsp;'fd'&nbsp;is&nbsp;an&nbsp;open&nbsp;file&nbsp;descriptor<br>
-connected&nbsp;to&nbsp;the&nbsp;slave&nbsp;end&nbsp;of&nbsp;a&nbsp;terminal.</tt></dd></dl>
- <dl><dt><a name="-kill"><strong>kill</strong></a>(...)</dt><dd><tt><a href="#-kill">kill</a>(pid,&nbsp;sig)<br>
-&nbsp;<br>
-Kill&nbsp;a&nbsp;process&nbsp;with&nbsp;a&nbsp;signal.</tt></dd></dl>
- <dl><dt><a name="-killpg"><strong>killpg</strong></a>(...)</dt><dd><tt><a href="#-killpg">killpg</a>(pgid,&nbsp;sig)<br>
-&nbsp;<br>
-Kill&nbsp;a&nbsp;process&nbsp;group&nbsp;with&nbsp;a&nbsp;signal.</tt></dd></dl>
- <dl><dt><a name="-lchown"><strong>lchown</strong></a>(...)</dt><dd><tt><a href="#-lchown">lchown</a>(path,&nbsp;uid,&nbsp;gid)<br>
-&nbsp;<br>
-Change&nbsp;the&nbsp;owner&nbsp;and&nbsp;group&nbsp;id&nbsp;of&nbsp;path&nbsp;to&nbsp;the&nbsp;numeric&nbsp;uid&nbsp;and&nbsp;gid.<br>
-This&nbsp;function&nbsp;will&nbsp;not&nbsp;follow&nbsp;symbolic&nbsp;links.</tt></dd></dl>
- <dl><dt><a name="-link"><strong>link</strong></a>(...)</dt><dd><tt><a href="#-link">link</a>(src,&nbsp;dst)<br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;hard&nbsp;link&nbsp;to&nbsp;a&nbsp;file.</tt></dd></dl>
- <dl><dt><a name="-listdir"><strong>listdir</strong></a>(...)</dt><dd><tt><a href="#-listdir">listdir</a>(path)&nbsp;-&gt;&nbsp;list_of_strings<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;list&nbsp;containing&nbsp;the&nbsp;names&nbsp;of&nbsp;the&nbsp;entries&nbsp;in&nbsp;the&nbsp;directory.<br>
-&nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path:&nbsp;path&nbsp;of&nbsp;directory&nbsp;to&nbsp;list<br>
-&nbsp;<br>
-The&nbsp;list&nbsp;is&nbsp;in&nbsp;arbitrary&nbsp;order.&nbsp;&nbsp;It&nbsp;does&nbsp;not&nbsp;include&nbsp;the&nbsp;special<br>
-entries&nbsp;'.'&nbsp;and&nbsp;'..'&nbsp;even&nbsp;if&nbsp;they&nbsp;are&nbsp;present&nbsp;in&nbsp;the&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-lseek"><strong>lseek</strong></a>(...)</dt><dd><tt><a href="#-lseek">lseek</a>(fd,&nbsp;pos,&nbsp;how)&nbsp;-&gt;&nbsp;newpos<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;position&nbsp;of&nbsp;a&nbsp;file&nbsp;descriptor.</tt></dd></dl>
- <dl><dt><a name="-lstat"><strong>lstat</strong></a>(...)</dt><dd><tt><a href="#-lstat">lstat</a>(path)&nbsp;-&gt;&nbsp;stat&nbsp;result<br>
-&nbsp;<br>
-Like&nbsp;<a href="#-stat">stat</a>(path),&nbsp;but&nbsp;do&nbsp;not&nbsp;follow&nbsp;symbolic&nbsp;links.</tt></dd></dl>
- <dl><dt><a name="-major"><strong>major</strong></a>(...)</dt><dd><tt><a href="#-major">major</a>(device)&nbsp;-&gt;&nbsp;major&nbsp;number<br>
-Extracts&nbsp;a&nbsp;device&nbsp;major&nbsp;number&nbsp;from&nbsp;a&nbsp;raw&nbsp;device&nbsp;number.</tt></dd></dl>
- <dl><dt><a name="-makedev"><strong>makedev</strong></a>(...)</dt><dd><tt><a href="#-makedev">makedev</a>(major,&nbsp;minor)&nbsp;-&gt;&nbsp;device&nbsp;number<br>
-Composes&nbsp;a&nbsp;raw&nbsp;device&nbsp;number&nbsp;from&nbsp;the&nbsp;major&nbsp;and&nbsp;minor&nbsp;device&nbsp;numbers.</tt></dd></dl>
- <dl><dt><a name="-makedirs"><strong>makedirs</strong></a>(name, mode<font color="#909090">=511</font>)</dt><dd><tt><a href="#-makedirs">makedirs</a>(path&nbsp;[,&nbsp;mode=0777])<br>
-&nbsp;<br>
-Super-mkdir;&nbsp;create&nbsp;a&nbsp;leaf&nbsp;directory&nbsp;and&nbsp;all&nbsp;intermediate&nbsp;ones.<br>
-Works&nbsp;like&nbsp;mkdir,&nbsp;except&nbsp;that&nbsp;any&nbsp;intermediate&nbsp;path&nbsp;segment&nbsp;(not<br>
-just&nbsp;the&nbsp;rightmost)&nbsp;will&nbsp;be&nbsp;created&nbsp;if&nbsp;it&nbsp;does&nbsp;not&nbsp;exist.&nbsp;&nbsp;This&nbsp;is<br>
-recursive.</tt></dd></dl>
- <dl><dt><a name="-minor"><strong>minor</strong></a>(...)</dt><dd><tt><a href="#-minor">minor</a>(device)&nbsp;-&gt;&nbsp;minor&nbsp;number<br>
-Extracts&nbsp;a&nbsp;device&nbsp;minor&nbsp;number&nbsp;from&nbsp;a&nbsp;raw&nbsp;device&nbsp;number.</tt></dd></dl>
- <dl><dt><a name="-mkdir"><strong>mkdir</strong></a>(...)</dt><dd><tt><a href="#-mkdir">mkdir</a>(path&nbsp;[,&nbsp;mode=0777])<br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-mkfifo"><strong>mkfifo</strong></a>(...)</dt><dd><tt><a href="#-mkfifo">mkfifo</a>(filename&nbsp;[,&nbsp;mode=0666])<br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;FIFO&nbsp;(a&nbsp;POSIX&nbsp;named&nbsp;pipe).</tt></dd></dl>
- <dl><dt><a name="-mknod"><strong>mknod</strong></a>(...)</dt><dd><tt><a href="#-mknod">mknod</a>(filename&nbsp;[,&nbsp;mode=0600,&nbsp;device])<br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;filesystem&nbsp;node&nbsp;(file,&nbsp;device&nbsp;special&nbsp;file&nbsp;or&nbsp;named&nbsp;pipe)<br>
-named&nbsp;filename.&nbsp;mode&nbsp;specifies&nbsp;both&nbsp;the&nbsp;permissions&nbsp;to&nbsp;use&nbsp;and&nbsp;the<br>
-type&nbsp;of&nbsp;node&nbsp;to&nbsp;be&nbsp;created,&nbsp;being&nbsp;combined&nbsp;(bitwise&nbsp;OR)&nbsp;with&nbsp;one&nbsp;of<br>
-S_IFREG,&nbsp;S_IFCHR,&nbsp;S_IFBLK,&nbsp;and&nbsp;S_IFIFO.&nbsp;For&nbsp;S_IFCHR&nbsp;and&nbsp;S_IFBLK,<br>
-device&nbsp;defines&nbsp;the&nbsp;newly&nbsp;created&nbsp;device&nbsp;special&nbsp;file&nbsp;(probably&nbsp;using<br>
-os.<a href="#-makedev">makedev</a>()),&nbsp;otherwise&nbsp;it&nbsp;is&nbsp;ignored.</tt></dd></dl>
- <dl><dt><a name="-nice"><strong>nice</strong></a>(...)</dt><dd><tt><a href="#-nice">nice</a>(inc)&nbsp;-&gt;&nbsp;new_priority<br>
-&nbsp;<br>
-Decrease&nbsp;the&nbsp;priority&nbsp;of&nbsp;process&nbsp;by&nbsp;inc&nbsp;and&nbsp;return&nbsp;the&nbsp;new&nbsp;priority.</tt></dd></dl>
- <dl><dt><a name="-open"><strong>open</strong></a>(...)</dt><dd><tt><a href="#-open">open</a>(filename,&nbsp;flag&nbsp;[,&nbsp;mode=0777])&nbsp;-&gt;&nbsp;fd<br>
-&nbsp;<br>
-Open&nbsp;a&nbsp;file&nbsp;(for&nbsp;low&nbsp;level&nbsp;IO).</tt></dd></dl>
- <dl><dt><a name="-openpty"><strong>openpty</strong></a>(...)</dt><dd><tt><a href="#-openpty">openpty</a>()&nbsp;-&gt;&nbsp;(master_fd,&nbsp;slave_fd)<br>
-&nbsp;<br>
-Open&nbsp;a&nbsp;pseudo-terminal,&nbsp;returning&nbsp;open&nbsp;fd's&nbsp;for&nbsp;both&nbsp;master&nbsp;and&nbsp;slave&nbsp;end.</tt></dd></dl>
- <dl><dt><a name="-pathconf"><strong>pathconf</strong></a>(...)</dt><dd><tt><a href="#-pathconf">pathconf</a>(path,&nbsp;name)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;configuration&nbsp;limit&nbsp;name&nbsp;for&nbsp;the&nbsp;file&nbsp;or&nbsp;directory&nbsp;path.<br>
-If&nbsp;there&nbsp;is&nbsp;no&nbsp;limit,&nbsp;return&nbsp;-1.</tt></dd></dl>
- <dl><dt><a name="-pipe"><strong>pipe</strong></a>(...)</dt><dd><tt><a href="#-pipe">pipe</a>()&nbsp;-&gt;&nbsp;(read_end,&nbsp;write_end)<br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;pipe.</tt></dd></dl>
- <dl><dt><a name="-popen"><strong>popen</strong></a>(...)</dt><dd><tt><a href="#-popen">popen</a>(command&nbsp;[,&nbsp;mode='r'&nbsp;[,&nbsp;bufsize]])&nbsp;-&gt;&nbsp;pipe<br>
-&nbsp;<br>
-Open&nbsp;a&nbsp;pipe&nbsp;to/from&nbsp;a&nbsp;command&nbsp;returning&nbsp;a&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a>.</tt></dd></dl>
- <dl><dt><a name="-popen2"><strong>popen2</strong></a>(cmd, mode<font color="#909090">='t'</font>, bufsize<font color="#909090">=-1</font>)</dt><dd><tt>Execute&nbsp;the&nbsp;shell&nbsp;command&nbsp;'cmd'&nbsp;in&nbsp;a&nbsp;sub-process.&nbsp;&nbsp;On&nbsp;UNIX,&nbsp;'cmd'<br>
-may&nbsp;be&nbsp;a&nbsp;sequence,&nbsp;in&nbsp;which&nbsp;case&nbsp;arguments&nbsp;will&nbsp;be&nbsp;passed&nbsp;directly&nbsp;to<br>
-the&nbsp;program&nbsp;without&nbsp;shell&nbsp;intervention&nbsp;(as&nbsp;with&nbsp;os.<a href="#-spawnv">spawnv</a>()).&nbsp;&nbsp;If&nbsp;'cmd'<br>
-is&nbsp;a&nbsp;string&nbsp;it&nbsp;will&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;shell&nbsp;(as&nbsp;with&nbsp;os.<a href="#-system">system</a>()).&nbsp;If<br>
-'bufsize'&nbsp;is&nbsp;specified,&nbsp;it&nbsp;sets&nbsp;the&nbsp;buffer&nbsp;size&nbsp;for&nbsp;the&nbsp;I/O&nbsp;pipes.&nbsp;&nbsp;The<br>
-file&nbsp;objects&nbsp;(child_stdin,&nbsp;child_stdout)&nbsp;are&nbsp;returned.</tt></dd></dl>
- <dl><dt><a name="-popen3"><strong>popen3</strong></a>(cmd, mode<font color="#909090">='t'</font>, bufsize<font color="#909090">=-1</font>)</dt><dd><tt>Execute&nbsp;the&nbsp;shell&nbsp;command&nbsp;'cmd'&nbsp;in&nbsp;a&nbsp;sub-process.&nbsp;&nbsp;On&nbsp;UNIX,&nbsp;'cmd'<br>
-may&nbsp;be&nbsp;a&nbsp;sequence,&nbsp;in&nbsp;which&nbsp;case&nbsp;arguments&nbsp;will&nbsp;be&nbsp;passed&nbsp;directly&nbsp;to<br>
-the&nbsp;program&nbsp;without&nbsp;shell&nbsp;intervention&nbsp;(as&nbsp;with&nbsp;os.<a href="#-spawnv">spawnv</a>()).&nbsp;&nbsp;If&nbsp;'cmd'<br>
-is&nbsp;a&nbsp;string&nbsp;it&nbsp;will&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;shell&nbsp;(as&nbsp;with&nbsp;os.<a href="#-system">system</a>()).&nbsp;If<br>
-'bufsize'&nbsp;is&nbsp;specified,&nbsp;it&nbsp;sets&nbsp;the&nbsp;buffer&nbsp;size&nbsp;for&nbsp;the&nbsp;I/O&nbsp;pipes.&nbsp;&nbsp;The<br>
-file&nbsp;objects&nbsp;(child_stdin,&nbsp;child_stdout,&nbsp;child_stderr)&nbsp;are&nbsp;returned.</tt></dd></dl>
- <dl><dt><a name="-popen4"><strong>popen4</strong></a>(cmd, mode<font color="#909090">='t'</font>, bufsize<font color="#909090">=-1</font>)</dt><dd><tt>Execute&nbsp;the&nbsp;shell&nbsp;command&nbsp;'cmd'&nbsp;in&nbsp;a&nbsp;sub-process.&nbsp;&nbsp;On&nbsp;UNIX,&nbsp;'cmd'<br>
-may&nbsp;be&nbsp;a&nbsp;sequence,&nbsp;in&nbsp;which&nbsp;case&nbsp;arguments&nbsp;will&nbsp;be&nbsp;passed&nbsp;directly&nbsp;to<br>
-the&nbsp;program&nbsp;without&nbsp;shell&nbsp;intervention&nbsp;(as&nbsp;with&nbsp;os.<a href="#-spawnv">spawnv</a>()).&nbsp;&nbsp;If&nbsp;'cmd'<br>
-is&nbsp;a&nbsp;string&nbsp;it&nbsp;will&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;shell&nbsp;(as&nbsp;with&nbsp;os.<a href="#-system">system</a>()).&nbsp;If<br>
-'bufsize'&nbsp;is&nbsp;specified,&nbsp;it&nbsp;sets&nbsp;the&nbsp;buffer&nbsp;size&nbsp;for&nbsp;the&nbsp;I/O&nbsp;pipes.&nbsp;&nbsp;The<br>
-file&nbsp;objects&nbsp;(child_stdin,&nbsp;child_stdout_stderr)&nbsp;are&nbsp;returned.</tt></dd></dl>
- <dl><dt><a name="-putenv"><strong>putenv</strong></a>(...)</dt><dd><tt><a href="#-putenv">putenv</a>(key,&nbsp;value)<br>
-&nbsp;<br>
-Change&nbsp;or&nbsp;add&nbsp;an&nbsp;environment&nbsp;variable.</tt></dd></dl>
- <dl><dt><a name="-read"><strong>read</strong></a>(...)</dt><dd><tt><a href="#-read">read</a>(fd,&nbsp;buffersize)&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Read&nbsp;a&nbsp;file&nbsp;descriptor.</tt></dd></dl>
- <dl><dt><a name="-readlink"><strong>readlink</strong></a>(...)</dt><dd><tt><a href="#-readlink">readlink</a>(path)&nbsp;-&gt;&nbsp;path<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;string&nbsp;representing&nbsp;the&nbsp;path&nbsp;to&nbsp;which&nbsp;the&nbsp;symbolic&nbsp;link&nbsp;points.</tt></dd></dl>
- <dl><dt><a name="-remove"><strong>remove</strong></a>(...)</dt><dd><tt><a href="#-remove">remove</a>(path)<br>
-&nbsp;<br>
-Remove&nbsp;a&nbsp;file&nbsp;(same&nbsp;as&nbsp;<a href="#-unlink">unlink</a>(path)).</tt></dd></dl>
- <dl><dt><a name="-removedirs"><strong>removedirs</strong></a>(name)</dt><dd><tt><a href="#-removedirs">removedirs</a>(path)<br>
-&nbsp;<br>
-Super-rmdir;&nbsp;remove&nbsp;a&nbsp;leaf&nbsp;directory&nbsp;and&nbsp;all&nbsp;empty&nbsp;intermediate<br>
-ones.&nbsp;&nbsp;Works&nbsp;like&nbsp;rmdir&nbsp;except&nbsp;that,&nbsp;if&nbsp;the&nbsp;leaf&nbsp;directory&nbsp;is<br>
-successfully&nbsp;removed,&nbsp;directories&nbsp;corresponding&nbsp;to&nbsp;rightmost&nbsp;path<br>
-segments&nbsp;will&nbsp;be&nbsp;pruned&nbsp;away&nbsp;until&nbsp;either&nbsp;the&nbsp;whole&nbsp;path&nbsp;is<br>
-consumed&nbsp;or&nbsp;an&nbsp;<a href="#error">error</a>&nbsp;occurs.&nbsp;&nbsp;Errors&nbsp;during&nbsp;this&nbsp;latter&nbsp;phase&nbsp;are<br>
-ignored&nbsp;--&nbsp;they&nbsp;generally&nbsp;mean&nbsp;that&nbsp;a&nbsp;directory&nbsp;was&nbsp;not&nbsp;empty.</tt></dd></dl>
- <dl><dt><a name="-rename"><strong>rename</strong></a>(...)</dt><dd><tt><a href="#-rename">rename</a>(old,&nbsp;new)<br>
-&nbsp;<br>
-Rename&nbsp;a&nbsp;file&nbsp;or&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-renames"><strong>renames</strong></a>(old, new)</dt><dd><tt><a href="#-renames">renames</a>(old,&nbsp;new)<br>
-&nbsp;<br>
-Super-rename;&nbsp;create&nbsp;directories&nbsp;as&nbsp;necessary&nbsp;and&nbsp;delete&nbsp;any&nbsp;left<br>
-empty.&nbsp;&nbsp;Works&nbsp;like&nbsp;rename,&nbsp;except&nbsp;creation&nbsp;of&nbsp;any&nbsp;intermediate<br>
-directories&nbsp;needed&nbsp;to&nbsp;make&nbsp;the&nbsp;new&nbsp;pathname&nbsp;good&nbsp;is&nbsp;attempted<br>
-first.&nbsp;&nbsp;After&nbsp;the&nbsp;rename,&nbsp;directories&nbsp;corresponding&nbsp;to&nbsp;rightmost<br>
-path&nbsp;segments&nbsp;of&nbsp;the&nbsp;old&nbsp;name&nbsp;will&nbsp;be&nbsp;pruned&nbsp;way&nbsp;until&nbsp;either&nbsp;the<br>
-whole&nbsp;path&nbsp;is&nbsp;consumed&nbsp;or&nbsp;a&nbsp;nonempty&nbsp;directory&nbsp;is&nbsp;found.<br>
-&nbsp;<br>
-Note:&nbsp;this&nbsp;function&nbsp;can&nbsp;fail&nbsp;with&nbsp;the&nbsp;new&nbsp;directory&nbsp;structure&nbsp;made<br>
-if&nbsp;you&nbsp;lack&nbsp;permissions&nbsp;needed&nbsp;to&nbsp;unlink&nbsp;the&nbsp;leaf&nbsp;directory&nbsp;or<br>
-file.</tt></dd></dl>
- <dl><dt><a name="-rmdir"><strong>rmdir</strong></a>(...)</dt><dd><tt><a href="#-rmdir">rmdir</a>(path)<br>
-&nbsp;<br>
-Remove&nbsp;a&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-setegid"><strong>setegid</strong></a>(...)</dt><dd><tt><a href="#-setegid">setegid</a>(gid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;process's&nbsp;effective&nbsp;group&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-seteuid"><strong>seteuid</strong></a>(...)</dt><dd><tt><a href="#-seteuid">seteuid</a>(uid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;process's&nbsp;effective&nbsp;user&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-setgid"><strong>setgid</strong></a>(...)</dt><dd><tt><a href="#-setgid">setgid</a>(gid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;process's&nbsp;group&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-setgroups"><strong>setgroups</strong></a>(...)</dt><dd><tt><a href="#-setgroups">setgroups</a>(list)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;groups&nbsp;of&nbsp;the&nbsp;current&nbsp;process&nbsp;to&nbsp;list.</tt></dd></dl>
- <dl><dt><a name="-setpgid"><strong>setpgid</strong></a>(...)</dt><dd><tt><a href="#-setpgid">setpgid</a>(pid,&nbsp;pgrp)<br>
-&nbsp;<br>
-Call&nbsp;the&nbsp;system&nbsp;call&nbsp;<a href="#-setpgid">setpgid</a>().</tt></dd></dl>
- <dl><dt><a name="-setpgrp"><strong>setpgrp</strong></a>(...)</dt><dd><tt><a href="#-setpgrp">setpgrp</a>()<br>
-&nbsp;<br>
-Make&nbsp;this&nbsp;process&nbsp;a&nbsp;session&nbsp;leader.</tt></dd></dl>
- <dl><dt><a name="-setregid"><strong>setregid</strong></a>(...)</dt><dd><tt><a href="#-setregid">setregid</a>(rgid,&nbsp;egid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;process's&nbsp;real&nbsp;and&nbsp;effective&nbsp;group&nbsp;ids.</tt></dd></dl>
- <dl><dt><a name="-setreuid"><strong>setreuid</strong></a>(...)</dt><dd><tt><a href="#-setreuid">setreuid</a>(ruid,&nbsp;euid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;process's&nbsp;real&nbsp;and&nbsp;effective&nbsp;user&nbsp;ids.</tt></dd></dl>
- <dl><dt><a name="-setsid"><strong>setsid</strong></a>(...)</dt><dd><tt><a href="#-setsid">setsid</a>()<br>
-&nbsp;<br>
-Call&nbsp;the&nbsp;system&nbsp;call&nbsp;<a href="#-setsid">setsid</a>().</tt></dd></dl>
- <dl><dt><a name="-setuid"><strong>setuid</strong></a>(...)</dt><dd><tt><a href="#-setuid">setuid</a>(uid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;process's&nbsp;user&nbsp;id.</tt></dd></dl>
- <dl><dt><a name="-spawnl"><strong>spawnl</strong></a>(mode, file, *args)</dt><dd><tt><a href="#-spawnl">spawnl</a>(mode,&nbsp;file,&nbsp;*args)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;with&nbsp;arguments&nbsp;from&nbsp;args&nbsp;in&nbsp;a&nbsp;subprocess.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnle"><strong>spawnle</strong></a>(mode, file, *args)</dt><dd><tt><a href="#-spawnle">spawnle</a>(mode,&nbsp;file,&nbsp;*args,&nbsp;env)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;with&nbsp;arguments&nbsp;from&nbsp;args&nbsp;in&nbsp;a&nbsp;subprocess&nbsp;with&nbsp;the<br>
-supplied&nbsp;environment.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnlp"><strong>spawnlp</strong></a>(mode, file, *args)</dt><dd><tt><a href="#-spawnlp">spawnlp</a>(mode,&nbsp;file,&nbsp;*args)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;(which&nbsp;is&nbsp;looked&nbsp;for&nbsp;along&nbsp;$PATH)&nbsp;with&nbsp;arguments&nbsp;from<br>
-args&nbsp;in&nbsp;a&nbsp;subprocess&nbsp;with&nbsp;the&nbsp;supplied&nbsp;environment.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnlpe"><strong>spawnlpe</strong></a>(mode, file, *args)</dt><dd><tt><a href="#-spawnlpe">spawnlpe</a>(mode,&nbsp;file,&nbsp;*args,&nbsp;env)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;(which&nbsp;is&nbsp;looked&nbsp;for&nbsp;along&nbsp;$PATH)&nbsp;with&nbsp;arguments&nbsp;from<br>
-args&nbsp;in&nbsp;a&nbsp;subprocess&nbsp;with&nbsp;the&nbsp;supplied&nbsp;environment.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnv"><strong>spawnv</strong></a>(mode, file, args)</dt><dd><tt><a href="#-spawnv">spawnv</a>(mode,&nbsp;file,&nbsp;args)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;with&nbsp;arguments&nbsp;from&nbsp;args&nbsp;in&nbsp;a&nbsp;subprocess.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnve"><strong>spawnve</strong></a>(mode, file, args, env)</dt><dd><tt><a href="#-spawnve">spawnve</a>(mode,&nbsp;file,&nbsp;args,&nbsp;env)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;with&nbsp;arguments&nbsp;from&nbsp;args&nbsp;in&nbsp;a&nbsp;subprocess&nbsp;with&nbsp;the<br>
-specified&nbsp;environment.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnvp"><strong>spawnvp</strong></a>(mode, file, args)</dt><dd><tt><a href="#-spawnvp">spawnvp</a>(mode,&nbsp;file,&nbsp;args)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;(which&nbsp;is&nbsp;looked&nbsp;for&nbsp;along&nbsp;$PATH)&nbsp;with&nbsp;arguments&nbsp;from<br>
-args&nbsp;in&nbsp;a&nbsp;subprocess.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-spawnvpe"><strong>spawnvpe</strong></a>(mode, file, args, env)</dt><dd><tt><a href="#-spawnvpe">spawnvpe</a>(mode,&nbsp;file,&nbsp;args,&nbsp;env)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Execute&nbsp;file&nbsp;(which&nbsp;is&nbsp;looked&nbsp;for&nbsp;along&nbsp;$PATH)&nbsp;with&nbsp;arguments&nbsp;from<br>
-args&nbsp;in&nbsp;a&nbsp;subprocess&nbsp;with&nbsp;the&nbsp;supplied&nbsp;environment.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_NOWAIT&nbsp;return&nbsp;the&nbsp;pid&nbsp;of&nbsp;the&nbsp;process.<br>
-If&nbsp;mode&nbsp;==&nbsp;P_WAIT&nbsp;return&nbsp;the&nbsp;process's&nbsp;exit&nbsp;code&nbsp;if&nbsp;it&nbsp;exits&nbsp;normally;<br>
-otherwise&nbsp;return&nbsp;-SIG,&nbsp;where&nbsp;SIG&nbsp;is&nbsp;the&nbsp;signal&nbsp;that&nbsp;killed&nbsp;it.</tt></dd></dl>
- <dl><dt><a name="-stat"><strong>stat</strong></a>(...)</dt><dd><tt><a href="#-stat">stat</a>(path)&nbsp;-&gt;&nbsp;stat&nbsp;result<br>
-&nbsp;<br>
-Perform&nbsp;a&nbsp;stat&nbsp;system&nbsp;call&nbsp;on&nbsp;the&nbsp;given&nbsp;path.</tt></dd></dl>
- <dl><dt><a name="-stat_float_times"><strong>stat_float_times</strong></a>(...)</dt><dd><tt><a href="#-stat_float_times">stat_float_times</a>([newval])&nbsp;-&gt;&nbsp;oldval<br>
-&nbsp;<br>
-Determine&nbsp;whether&nbsp;os.[lf]stat&nbsp;represents&nbsp;time&nbsp;stamps&nbsp;as&nbsp;float&nbsp;objects.<br>
-If&nbsp;newval&nbsp;is&nbsp;True,&nbsp;future&nbsp;calls&nbsp;to&nbsp;<a href="#-stat">stat</a>()&nbsp;return&nbsp;floats,&nbsp;if&nbsp;it&nbsp;is&nbsp;False,<br>
-future&nbsp;calls&nbsp;return&nbsp;ints.&nbsp;<br>
-If&nbsp;newval&nbsp;is&nbsp;omitted,&nbsp;return&nbsp;the&nbsp;current&nbsp;setting.</tt></dd></dl>
- <dl><dt><a name="-statvfs"><strong>statvfs</strong></a>(...)</dt><dd><tt><a href="#-statvfs">statvfs</a>(path)&nbsp;-&gt;&nbsp;statvfs&nbsp;result<br>
-&nbsp;<br>
-Perform&nbsp;a&nbsp;statvfs&nbsp;system&nbsp;call&nbsp;on&nbsp;the&nbsp;given&nbsp;path.</tt></dd></dl>
- <dl><dt><a name="-strerror"><strong>strerror</strong></a>(...)</dt><dd><tt><a href="#-strerror">strerror</a>(code)&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Translate&nbsp;an&nbsp;<a href="#error">error</a>&nbsp;code&nbsp;to&nbsp;a&nbsp;message&nbsp;string.</tt></dd></dl>
- <dl><dt><a name="-symlink"><strong>symlink</strong></a>(...)</dt><dd><tt><a href="#-symlink">symlink</a>(src,&nbsp;dst)<br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;symbolic&nbsp;link&nbsp;pointing&nbsp;to&nbsp;src&nbsp;named&nbsp;dst.</tt></dd></dl>
- <dl><dt><a name="-sysconf"><strong>sysconf</strong></a>(...)</dt><dd><tt><a href="#-sysconf">sysconf</a>(name)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;an&nbsp;integer-valued&nbsp;system&nbsp;configuration&nbsp;variable.</tt></dd></dl>
- <dl><dt><a name="-system"><strong>system</strong></a>(...)</dt><dd><tt><a href="#-system">system</a>(command)&nbsp;-&gt;&nbsp;exit_status<br>
-&nbsp;<br>
-Execute&nbsp;the&nbsp;command&nbsp;(a&nbsp;string)&nbsp;in&nbsp;a&nbsp;subshell.</tt></dd></dl>
- <dl><dt><a name="-tcgetpgrp"><strong>tcgetpgrp</strong></a>(...)</dt><dd><tt><a href="#-tcgetpgrp">tcgetpgrp</a>(fd)&nbsp;-&gt;&nbsp;pgid<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;process&nbsp;group&nbsp;associated&nbsp;with&nbsp;the&nbsp;terminal&nbsp;given&nbsp;by&nbsp;a&nbsp;fd.</tt></dd></dl>
- <dl><dt><a name="-tcsetpgrp"><strong>tcsetpgrp</strong></a>(...)</dt><dd><tt><a href="#-tcsetpgrp">tcsetpgrp</a>(fd,&nbsp;pgid)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;process&nbsp;group&nbsp;associated&nbsp;with&nbsp;the&nbsp;terminal&nbsp;given&nbsp;by&nbsp;a&nbsp;fd.</tt></dd></dl>
- <dl><dt><a name="-tempnam"><strong>tempnam</strong></a>(...)</dt><dd><tt><a href="#-tempnam">tempnam</a>([dir[,&nbsp;prefix]])&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;unique&nbsp;name&nbsp;for&nbsp;a&nbsp;temporary&nbsp;file.<br>
-The&nbsp;directory&nbsp;and&nbsp;a&nbsp;prefix&nbsp;may&nbsp;be&nbsp;specified&nbsp;as&nbsp;strings;&nbsp;they&nbsp;may&nbsp;be&nbsp;omitted<br>
-or&nbsp;None&nbsp;if&nbsp;not&nbsp;needed.</tt></dd></dl>
- <dl><dt><a name="-times"><strong>times</strong></a>(...)</dt><dd><tt><a href="#-times">times</a>()&nbsp;-&gt;&nbsp;(utime,&nbsp;stime,&nbsp;cutime,&nbsp;cstime,&nbsp;elapsed_time)<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;tuple&nbsp;of&nbsp;floating&nbsp;point&nbsp;numbers&nbsp;indicating&nbsp;process&nbsp;times.</tt></dd></dl>
- <dl><dt><a name="-tmpfile"><strong>tmpfile</strong></a>(...)</dt><dd><tt><a href="#-tmpfile">tmpfile</a>()&nbsp;-&gt;&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a><br>
-&nbsp;<br>
-Create&nbsp;a&nbsp;temporary&nbsp;file&nbsp;with&nbsp;no&nbsp;directory&nbsp;entries.</tt></dd></dl>
- <dl><dt><a name="-tmpnam"><strong>tmpnam</strong></a>(...)</dt><dd><tt><a href="#-tmpnam">tmpnam</a>()&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;unique&nbsp;name&nbsp;for&nbsp;a&nbsp;temporary&nbsp;file.</tt></dd></dl>
- <dl><dt><a name="-ttyname"><strong>ttyname</strong></a>(...)</dt><dd><tt><a href="#-ttyname">ttyname</a>(fd)&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;terminal&nbsp;device&nbsp;connected&nbsp;to&nbsp;'fd'.</tt></dd></dl>
- <dl><dt><a name="-umask"><strong>umask</strong></a>(...)</dt><dd><tt><a href="#-umask">umask</a>(new_mask)&nbsp;-&gt;&nbsp;old_mask<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;current&nbsp;numeric&nbsp;umask&nbsp;and&nbsp;return&nbsp;the&nbsp;previous&nbsp;umask.</tt></dd></dl>
- <dl><dt><a name="-uname"><strong>uname</strong></a>(...)</dt><dd><tt><a href="#-uname">uname</a>()&nbsp;-&gt;&nbsp;(sysname,&nbsp;nodename,&nbsp;release,&nbsp;version,&nbsp;machine)<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;tuple&nbsp;identifying&nbsp;the&nbsp;current&nbsp;operating&nbsp;system.</tt></dd></dl>
- <dl><dt><a name="-unlink"><strong>unlink</strong></a>(...)</dt><dd><tt><a href="#-unlink">unlink</a>(path)<br>
-&nbsp;<br>
-Remove&nbsp;a&nbsp;file&nbsp;(same&nbsp;as&nbsp;<a href="#-remove">remove</a>(path)).</tt></dd></dl>
- <dl><dt><a name="-unsetenv"><strong>unsetenv</strong></a>(...)</dt><dd><tt><a href="#-unsetenv">unsetenv</a>(key)<br>
-&nbsp;<br>
-Delete&nbsp;an&nbsp;environment&nbsp;variable.</tt></dd></dl>
- <dl><dt><a name="-utime"><strong>utime</strong></a>(...)</dt><dd><tt><a href="#-utime">utime</a>(path,&nbsp;(atime,&nbsp;mtime))<br>
-<a href="#-utime">utime</a>(path,&nbsp;None)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;access&nbsp;and&nbsp;modified&nbsp;time&nbsp;of&nbsp;the&nbsp;file&nbsp;to&nbsp;the&nbsp;given&nbsp;values.&nbsp;&nbsp;If&nbsp;the<br>
-second&nbsp;form&nbsp;is&nbsp;used,&nbsp;set&nbsp;the&nbsp;access&nbsp;and&nbsp;modified&nbsp;times&nbsp;to&nbsp;the&nbsp;current&nbsp;time.</tt></dd></dl>
- <dl><dt><a name="-wait"><strong>wait</strong></a>(...)</dt><dd><tt><a href="#-wait">wait</a>()&nbsp;-&gt;&nbsp;(pid,&nbsp;status)<br>
-&nbsp;<br>
-Wait&nbsp;for&nbsp;completion&nbsp;of&nbsp;a&nbsp;child&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-wait3"><strong>wait3</strong></a>(...)</dt><dd><tt><a href="#-wait3">wait3</a>(options)&nbsp;-&gt;&nbsp;(pid,&nbsp;status,&nbsp;rusage)<br>
-&nbsp;<br>
-Wait&nbsp;for&nbsp;completion&nbsp;of&nbsp;a&nbsp;child&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-wait4"><strong>wait4</strong></a>(...)</dt><dd><tt><a href="#-wait4">wait4</a>(pid,&nbsp;options)&nbsp;-&gt;&nbsp;(pid,&nbsp;status,&nbsp;rusage)<br>
-&nbsp;<br>
-Wait&nbsp;for&nbsp;completion&nbsp;of&nbsp;a&nbsp;given&nbsp;child&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-waitpid"><strong>waitpid</strong></a>(...)</dt><dd><tt><a href="#-waitpid">waitpid</a>(pid,&nbsp;options)&nbsp;-&gt;&nbsp;(pid,&nbsp;status)<br>
-&nbsp;<br>
-Wait&nbsp;for&nbsp;completion&nbsp;of&nbsp;a&nbsp;given&nbsp;child&nbsp;process.</tt></dd></dl>
- <dl><dt><a name="-walk"><strong>walk</strong></a>(top, topdown<font color="#909090">=True</font>, onerror<font color="#909090">=None</font>, followlinks<font color="#909090">=False</font>)</dt><dd><tt>Directory&nbsp;tree&nbsp;generator.<br>
-&nbsp;<br>
-For&nbsp;each&nbsp;directory&nbsp;in&nbsp;the&nbsp;directory&nbsp;tree&nbsp;rooted&nbsp;at&nbsp;top&nbsp;(including&nbsp;top<br>
-itself,&nbsp;but&nbsp;excluding&nbsp;'.'&nbsp;and&nbsp;'..'),&nbsp;yields&nbsp;a&nbsp;3-tuple<br>
-&nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;dirpath,&nbsp;dirnames,&nbsp;filenames<br>
-&nbsp;<br>
-dirpath&nbsp;is&nbsp;a&nbsp;string,&nbsp;the&nbsp;path&nbsp;to&nbsp;the&nbsp;directory.&nbsp;&nbsp;dirnames&nbsp;is&nbsp;a&nbsp;list&nbsp;of<br>
-the&nbsp;names&nbsp;of&nbsp;the&nbsp;subdirectories&nbsp;in&nbsp;dirpath&nbsp;(excluding&nbsp;'.'&nbsp;and&nbsp;'..').<br>
-filenames&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;the&nbsp;names&nbsp;of&nbsp;the&nbsp;non-directory&nbsp;files&nbsp;in&nbsp;dirpath.<br>
-Note&nbsp;that&nbsp;the&nbsp;names&nbsp;in&nbsp;the&nbsp;lists&nbsp;are&nbsp;just&nbsp;names,&nbsp;with&nbsp;no&nbsp;path&nbsp;components.<br>
-To&nbsp;get&nbsp;a&nbsp;full&nbsp;path&nbsp;(which&nbsp;begins&nbsp;with&nbsp;top)&nbsp;to&nbsp;a&nbsp;file&nbsp;or&nbsp;directory&nbsp;in<br>
-dirpath,&nbsp;do&nbsp;os.path.join(dirpath,&nbsp;name).<br>
-&nbsp;<br>
-If&nbsp;optional&nbsp;arg&nbsp;'topdown'&nbsp;is&nbsp;true&nbsp;or&nbsp;not&nbsp;specified,&nbsp;the&nbsp;triple&nbsp;for&nbsp;a<br>
-directory&nbsp;is&nbsp;generated&nbsp;before&nbsp;the&nbsp;triples&nbsp;for&nbsp;any&nbsp;of&nbsp;its&nbsp;subdirectories<br>
-(directories&nbsp;are&nbsp;generated&nbsp;top&nbsp;down).&nbsp;&nbsp;If&nbsp;topdown&nbsp;is&nbsp;false,&nbsp;the&nbsp;triple<br>
-for&nbsp;a&nbsp;directory&nbsp;is&nbsp;generated&nbsp;after&nbsp;the&nbsp;triples&nbsp;for&nbsp;all&nbsp;of&nbsp;its<br>
-subdirectories&nbsp;(directories&nbsp;are&nbsp;generated&nbsp;bottom&nbsp;up).<br>
-&nbsp;<br>
-When&nbsp;topdown&nbsp;is&nbsp;true,&nbsp;the&nbsp;caller&nbsp;can&nbsp;modify&nbsp;the&nbsp;dirnames&nbsp;list&nbsp;in-place<br>
-(e.g.,&nbsp;via&nbsp;del&nbsp;or&nbsp;slice&nbsp;assignment),&nbsp;and&nbsp;walk&nbsp;will&nbsp;only&nbsp;recurse&nbsp;into&nbsp;the<br>
-subdirectories&nbsp;whose&nbsp;names&nbsp;remain&nbsp;in&nbsp;dirnames;&nbsp;this&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;prune<br>
-the&nbsp;search,&nbsp;or&nbsp;to&nbsp;impose&nbsp;a&nbsp;specific&nbsp;order&nbsp;of&nbsp;visiting.&nbsp;&nbsp;Modifying<br>
-dirnames&nbsp;when&nbsp;topdown&nbsp;is&nbsp;false&nbsp;is&nbsp;ineffective,&nbsp;since&nbsp;the&nbsp;directories&nbsp;in<br>
-dirnames&nbsp;have&nbsp;already&nbsp;been&nbsp;generated&nbsp;by&nbsp;the&nbsp;time&nbsp;dirnames&nbsp;itself&nbsp;is<br>
-generated.<br>
-&nbsp;<br>
-By&nbsp;default&nbsp;errors&nbsp;from&nbsp;the&nbsp;os.<a href="#-listdir">listdir</a>()&nbsp;call&nbsp;are&nbsp;ignored.&nbsp;&nbsp;If<br>
-optional&nbsp;arg&nbsp;'onerror'&nbsp;is&nbsp;specified,&nbsp;it&nbsp;should&nbsp;be&nbsp;a&nbsp;function;&nbsp;it<br>
-will&nbsp;be&nbsp;called&nbsp;with&nbsp;one&nbsp;argument,&nbsp;an&nbsp;os.<a href="#error">error</a>&nbsp;instance.&nbsp;&nbsp;It&nbsp;can<br>
-report&nbsp;the&nbsp;<a href="#error">error</a>&nbsp;to&nbsp;continue&nbsp;with&nbsp;the&nbsp;walk,&nbsp;or&nbsp;raise&nbsp;the&nbsp;exception<br>
-to&nbsp;abort&nbsp;the&nbsp;walk.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;filename&nbsp;is&nbsp;available&nbsp;as&nbsp;the<br>
-filename&nbsp;attribute&nbsp;of&nbsp;the&nbsp;exception&nbsp;<a href="__builtin__.html#object">object</a>.<br>
-&nbsp;<br>
-By&nbsp;default,&nbsp;os.walk&nbsp;does&nbsp;not&nbsp;follow&nbsp;symbolic&nbsp;links&nbsp;to&nbsp;subdirectories&nbsp;on<br>
-systems&nbsp;that&nbsp;support&nbsp;them.&nbsp;&nbsp;In&nbsp;order&nbsp;to&nbsp;get&nbsp;this&nbsp;functionality,&nbsp;set&nbsp;the<br>
-optional&nbsp;argument&nbsp;'followlinks'&nbsp;to&nbsp;true.<br>
-&nbsp;<br>
-Caution:&nbsp;&nbsp;if&nbsp;you&nbsp;pass&nbsp;a&nbsp;relative&nbsp;pathname&nbsp;for&nbsp;top,&nbsp;don't&nbsp;change&nbsp;the<br>
-current&nbsp;working&nbsp;directory&nbsp;between&nbsp;resumptions&nbsp;of&nbsp;walk.&nbsp;&nbsp;walk&nbsp;never<br>
-changes&nbsp;the&nbsp;current&nbsp;directory,&nbsp;and&nbsp;assumes&nbsp;that&nbsp;the&nbsp;client&nbsp;doesn't<br>
-either.<br>
-&nbsp;<br>
-Example:<br>
-&nbsp;<br>
-import&nbsp;os<br>
-from&nbsp;os.path&nbsp;import&nbsp;join,&nbsp;getsize<br>
-for&nbsp;root,&nbsp;dirs,&nbsp;files&nbsp;in&nbsp;os.<a href="#-walk">walk</a>('python/Lib/email'):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;root,&nbsp;"consumes",<br>
-&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;sum([getsize(join(root,&nbsp;name))&nbsp;for&nbsp;name&nbsp;in&nbsp;files]),<br>
-&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"bytes&nbsp;in",&nbsp;len(files),&nbsp;"non-directory&nbsp;files"<br>
-&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;'CVS'&nbsp;in&nbsp;dirs:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirs.<a href="#-remove">remove</a>('CVS')&nbsp;&nbsp;#&nbsp;don't&nbsp;visit&nbsp;CVS&nbsp;directories</tt></dd></dl>
- <dl><dt><a name="-write"><strong>write</strong></a>(...)</dt><dd><tt><a href="#-write">write</a>(fd,&nbsp;string)&nbsp;-&gt;&nbsp;byteswritten<br>
-&nbsp;<br>
-Write&nbsp;a&nbsp;string&nbsp;to&nbsp;a&nbsp;file&nbsp;descriptor.</tt></dd></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>EX_CANTCREAT</strong> = 73<br>
-<strong>EX_CONFIG</strong> = 78<br>
-<strong>EX_DATAERR</strong> = 65<br>
-<strong>EX_IOERR</strong> = 74<br>
-<strong>EX_NOHOST</strong> = 68<br>
-<strong>EX_NOINPUT</strong> = 66<br>
-<strong>EX_NOPERM</strong> = 77<br>
-<strong>EX_NOUSER</strong> = 67<br>
-<strong>EX_OK</strong> = 0<br>
-<strong>EX_OSERR</strong> = 71<br>
-<strong>EX_OSFILE</strong> = 72<br>
-<strong>EX_PROTOCOL</strong> = 76<br>
-<strong>EX_SOFTWARE</strong> = 70<br>
-<strong>EX_TEMPFAIL</strong> = 75<br>
-<strong>EX_UNAVAILABLE</strong> = 69<br>
-<strong>EX_USAGE</strong> = 64<br>
-<strong>F_OK</strong> = 0<br>
-<strong>NGROUPS_MAX</strong> = 65536<br>
-<strong>O_APPEND</strong> = 1024<br>
-<strong>O_ASYNC</strong> = 8192<br>
-<strong>O_CREAT</strong> = 64<br>
-<strong>O_DIRECT</strong> = 16384<br>
-<strong>O_DIRECTORY</strong> = 65536<br>
-<strong>O_DSYNC</strong> = 4096<br>
-<strong>O_EXCL</strong> = 128<br>
-<strong>O_LARGEFILE</strong> = 0<br>
-<strong>O_NDELAY</strong> = 2048<br>
-<strong>O_NOATIME</strong> = 262144<br>
-<strong>O_NOCTTY</strong> = 256<br>
-<strong>O_NOFOLLOW</strong> = 131072<br>
-<strong>O_NONBLOCK</strong> = 2048<br>
-<strong>O_RDONLY</strong> = 0<br>
-<strong>O_RDWR</strong> = 2<br>
-<strong>O_RSYNC</strong> = 4096<br>
-<strong>O_SYNC</strong> = 4096<br>
-<strong>O_TRUNC</strong> = 512<br>
-<strong>O_WRONLY</strong> = 1<br>
-<strong>R_OK</strong> = 4<br>
-<strong>SEEK_CUR</strong> = 1<br>
-<strong>SEEK_END</strong> = 2<br>
-<strong>SEEK_SET</strong> = 0<br>
-<strong>TMP_MAX</strong> = 238328<br>
-<strong>WCONTINUED</strong> = 8<br>
-<strong>WNOHANG</strong> = 1<br>
-<strong>WUNTRACED</strong> = 2<br>
-<strong>W_OK</strong> = 2<br>
-<strong>X_OK</strong> = 1<br>
-<strong>__all__</strong> = ['altsep', 'curdir', 'pardir', 'sep', 'extsep', 'pathsep', 'linesep', 'defpath', 'name', 'path', 'devnull', 'SEEK_SET', 'SEEK_CUR', 'SEEK_END', 'EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST', 'EX_NOINPUT', ...]<br>
-<strong>altsep</strong> = None<br>
-<strong>confstr_names</strong> = {'CS_LFS64_CFLAGS': 1004, 'CS_LFS64_LDFLAGS': 1005, 'CS_LFS64_LIBS': 1006, 'CS_LFS64_LINTFLAGS': 1007, 'CS_LFS_CFLAGS': 1000, 'CS_LFS_LDFLAGS': 1001, 'CS_LFS_LIBS': 1002, 'CS_LFS_LINTFLAGS': 1003, 'CS_PATH': 0, 'CS_XBS5_ILP32_OFF32_CFLAGS': 1100, ...}<br>
-<strong>curdir</strong> = '.'<br>
-<strong>defpath</strong> = ':/bin:/usr/bin'<br>
-<strong>devnull</strong> = '/dev/null'<br>
-<strong>environ</strong> = {'PROMPT_COMMAND': 'echo -ne "\\033]0;${USER}@${...L': '/var/spool/mail/hut', 'OLDPWD': '/home/hut'}<br>
-<strong>extsep</strong> = '.'<br>
-<strong>linesep</strong> = '<font color="#c040c0">\n</font>'<br>
-<strong>name</strong> = 'posix'<br>
-<strong>pardir</strong> = '..'<br>
-<strong>pathconf_names</strong> = {'PC_ASYNC_IO': 10, 'PC_CHOWN_RESTRICTED': 6, 'PC_FILESIZEBITS': 13, 'PC_LINK_MAX': 0, 'PC_MAX_CANON': 1, 'PC_MAX_INPUT': 2, 'PC_NAME_MAX': 3, 'PC_NO_TRUNC': 7, 'PC_PATH_MAX': 4, 'PC_PIPE_BUF': 5, ...}<br>
-<strong>pathsep</strong> = ':'<br>
-<strong>sep</strong> = '/'<br>
-<strong>sysconf_names</strong> = {'SC_2_CHAR_TERM': 95, 'SC_2_C_BIND': 47, 'SC_2_C_DEV': 48, 'SC_2_C_VERSION': 96, 'SC_2_FORT_DEV': 49, 'SC_2_FORT_RUN': 50, 'SC_2_LOCALEDEF': 52, 'SC_2_SW_DEV': 51, 'SC_2_UPE': 97, 'SC_2_VERSION': 46, ...}</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/os.path.html b/doc/pydoc/os.path.html
deleted file mode 100644
index f62cddae..00000000
--- a/doc/pydoc/os.path.html
+++ /dev/null
@@ -1,108 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module posixpath</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>posixpath</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/lib/python2.6/posixpath.py">/usr/lib/python2.6/posixpath.py</a><br><a href="http://docs.python.org/library/posixpath">Module Docs</a></font></td></tr></table>
-    <p><tt>Common&nbsp;operations&nbsp;on&nbsp;Posix&nbsp;pathnames.<br>
-&nbsp;<br>
-Instead&nbsp;of&nbsp;importing&nbsp;this&nbsp;module&nbsp;directly,&nbsp;import&nbsp;os&nbsp;and&nbsp;refer&nbsp;to<br>
-this&nbsp;module&nbsp;as&nbsp;os.path.&nbsp;&nbsp;The&nbsp;"os.path"&nbsp;name&nbsp;is&nbsp;an&nbsp;alias&nbsp;for&nbsp;this<br>
-module&nbsp;on&nbsp;Posix&nbsp;systems;&nbsp;on&nbsp;other&nbsp;systems&nbsp;(e.g.&nbsp;Mac,&nbsp;Windows),<br>
-os.path&nbsp;provides&nbsp;the&nbsp;same&nbsp;operations&nbsp;in&nbsp;a&nbsp;manner&nbsp;specific&nbsp;to&nbsp;that<br>
-platform,&nbsp;and&nbsp;is&nbsp;an&nbsp;alias&nbsp;to&nbsp;another&nbsp;module&nbsp;(e.g.&nbsp;macpath,&nbsp;ntpath).<br>
-&nbsp;<br>
-Some&nbsp;of&nbsp;this&nbsp;can&nbsp;actually&nbsp;be&nbsp;useful&nbsp;on&nbsp;non-Posix&nbsp;systems&nbsp;too,&nbsp;e.g.<br>
-for&nbsp;manipulation&nbsp;of&nbsp;the&nbsp;pathname&nbsp;component&nbsp;of&nbsp;URLs.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="genericpath.html">genericpath</a><br>
-</td><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top><a href="stat.html">stat</a><br>
-</td><td width="25%" valign=top><a href="warnings.html">warnings</a><br>
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-abspath"><strong>abspath</strong></a>(path)</dt><dd><tt>Return&nbsp;an&nbsp;absolute&nbsp;path.</tt></dd></dl>
- <dl><dt><a name="-basename"><strong>basename</strong></a>(p)</dt><dd><tt>Returns&nbsp;the&nbsp;final&nbsp;component&nbsp;of&nbsp;a&nbsp;pathname</tt></dd></dl>
- <dl><dt><a name="-commonprefix"><strong>commonprefix</strong></a>(m)</dt><dd><tt>Given&nbsp;a&nbsp;list&nbsp;of&nbsp;pathnames,&nbsp;returns&nbsp;the&nbsp;longest&nbsp;common&nbsp;leading&nbsp;component</tt></dd></dl>
- <dl><dt><a name="-dirname"><strong>dirname</strong></a>(p)</dt><dd><tt>Returns&nbsp;the&nbsp;directory&nbsp;component&nbsp;of&nbsp;a&nbsp;pathname</tt></dd></dl>
- <dl><dt><a name="-exists"><strong>exists</strong></a>(path)</dt><dd><tt>Test&nbsp;whether&nbsp;a&nbsp;path&nbsp;exists.&nbsp;&nbsp;Returns&nbsp;False&nbsp;for&nbsp;broken&nbsp;symbolic&nbsp;links</tt></dd></dl>
- <dl><dt><a name="-expanduser"><strong>expanduser</strong></a>(path)</dt><dd><tt>Expand&nbsp;~&nbsp;and&nbsp;~user&nbsp;constructions.&nbsp;&nbsp;If&nbsp;user&nbsp;or&nbsp;$HOME&nbsp;is&nbsp;unknown,<br>
-do&nbsp;nothing.</tt></dd></dl>
- <dl><dt><a name="-expandvars"><strong>expandvars</strong></a>(path)</dt><dd><tt>Expand&nbsp;shell&nbsp;variables&nbsp;of&nbsp;form&nbsp;$var&nbsp;and&nbsp;${var}.&nbsp;&nbsp;Unknown&nbsp;variables<br>
-are&nbsp;left&nbsp;unchanged.</tt></dd></dl>
- <dl><dt><a name="-getatime"><strong>getatime</strong></a>(filename)</dt><dd><tt>Return&nbsp;the&nbsp;last&nbsp;access&nbsp;time&nbsp;of&nbsp;a&nbsp;file,&nbsp;reported&nbsp;by&nbsp;os.stat().</tt></dd></dl>
- <dl><dt><a name="-getctime"><strong>getctime</strong></a>(filename)</dt><dd><tt>Return&nbsp;the&nbsp;metadata&nbsp;change&nbsp;time&nbsp;of&nbsp;a&nbsp;file,&nbsp;reported&nbsp;by&nbsp;os.stat().</tt></dd></dl>
- <dl><dt><a name="-getmtime"><strong>getmtime</strong></a>(filename)</dt><dd><tt>Return&nbsp;the&nbsp;last&nbsp;modification&nbsp;time&nbsp;of&nbsp;a&nbsp;file,&nbsp;reported&nbsp;by&nbsp;os.stat().</tt></dd></dl>
- <dl><dt><a name="-getsize"><strong>getsize</strong></a>(filename)</dt><dd><tt>Return&nbsp;the&nbsp;size&nbsp;of&nbsp;a&nbsp;file,&nbsp;reported&nbsp;by&nbsp;os.stat().</tt></dd></dl>
- <dl><dt><a name="-isabs"><strong>isabs</strong></a>(s)</dt><dd><tt>Test&nbsp;whether&nbsp;a&nbsp;path&nbsp;is&nbsp;absolute</tt></dd></dl>
- <dl><dt><a name="-isdir"><strong>isdir</strong></a>(s)</dt><dd><tt>Return&nbsp;true&nbsp;if&nbsp;the&nbsp;pathname&nbsp;refers&nbsp;to&nbsp;an&nbsp;existing&nbsp;directory.</tt></dd></dl>
- <dl><dt><a name="-isfile"><strong>isfile</strong></a>(path)</dt><dd><tt>Test&nbsp;whether&nbsp;a&nbsp;path&nbsp;is&nbsp;a&nbsp;regular&nbsp;file</tt></dd></dl>
- <dl><dt><a name="-islink"><strong>islink</strong></a>(path)</dt><dd><tt>Test&nbsp;whether&nbsp;a&nbsp;path&nbsp;is&nbsp;a&nbsp;symbolic&nbsp;link</tt></dd></dl>
- <dl><dt><a name="-ismount"><strong>ismount</strong></a>(path)</dt><dd><tt>Test&nbsp;whether&nbsp;a&nbsp;path&nbsp;is&nbsp;a&nbsp;mount&nbsp;point</tt></dd></dl>
- <dl><dt><a name="-join"><strong>join</strong></a>(a, *p)</dt><dd><tt>Join&nbsp;two&nbsp;or&nbsp;more&nbsp;pathname&nbsp;components,&nbsp;inserting&nbsp;'/'&nbsp;as&nbsp;needed.<br>
-If&nbsp;any&nbsp;component&nbsp;is&nbsp;an&nbsp;absolute&nbsp;path,&nbsp;all&nbsp;previous&nbsp;path&nbsp;components<br>
-will&nbsp;be&nbsp;discarded.</tt></dd></dl>
- <dl><dt><a name="-lexists"><strong>lexists</strong></a>(path)</dt><dd><tt>Test&nbsp;whether&nbsp;a&nbsp;path&nbsp;exists.&nbsp;&nbsp;Returns&nbsp;True&nbsp;for&nbsp;broken&nbsp;symbolic&nbsp;links</tt></dd></dl>
- <dl><dt><a name="-normcase"><strong>normcase</strong></a>(s)</dt><dd><tt>Normalize&nbsp;case&nbsp;of&nbsp;pathname.&nbsp;&nbsp;Has&nbsp;no&nbsp;effect&nbsp;under&nbsp;Posix</tt></dd></dl>
- <dl><dt><a name="-normpath"><strong>normpath</strong></a>(path)</dt><dd><tt>Normalize&nbsp;path,&nbsp;eliminating&nbsp;double&nbsp;slashes,&nbsp;etc.</tt></dd></dl>
- <dl><dt><a name="-realpath"><strong>realpath</strong></a>(filename)</dt><dd><tt>Return&nbsp;the&nbsp;canonical&nbsp;path&nbsp;of&nbsp;the&nbsp;specified&nbsp;filename,&nbsp;eliminating&nbsp;any<br>
-symbolic&nbsp;links&nbsp;encountered&nbsp;in&nbsp;the&nbsp;path.</tt></dd></dl>
- <dl><dt><a name="-relpath"><strong>relpath</strong></a>(path, start<font color="#909090">='.'</font>)</dt><dd><tt>Return&nbsp;a&nbsp;relative&nbsp;version&nbsp;of&nbsp;a&nbsp;path</tt></dd></dl>
- <dl><dt><a name="-samefile"><strong>samefile</strong></a>(f1, f2)</dt><dd><tt>Test&nbsp;whether&nbsp;two&nbsp;pathnames&nbsp;reference&nbsp;the&nbsp;same&nbsp;actual&nbsp;file</tt></dd></dl>
- <dl><dt><a name="-sameopenfile"><strong>sameopenfile</strong></a>(fp1, fp2)</dt><dd><tt>Test&nbsp;whether&nbsp;two&nbsp;open&nbsp;file&nbsp;objects&nbsp;reference&nbsp;the&nbsp;same&nbsp;file</tt></dd></dl>
- <dl><dt><a name="-samestat"><strong>samestat</strong></a>(s1, s2)</dt><dd><tt>Test&nbsp;whether&nbsp;two&nbsp;stat&nbsp;buffers&nbsp;reference&nbsp;the&nbsp;same&nbsp;file</tt></dd></dl>
- <dl><dt><a name="-split"><strong>split</strong></a>(p)</dt><dd><tt>Split&nbsp;a&nbsp;pathname.&nbsp;&nbsp;Returns&nbsp;tuple&nbsp;"(head,&nbsp;tail)"&nbsp;where&nbsp;"tail"&nbsp;is<br>
-everything&nbsp;after&nbsp;the&nbsp;final&nbsp;slash.&nbsp;&nbsp;Either&nbsp;part&nbsp;may&nbsp;be&nbsp;empty.</tt></dd></dl>
- <dl><dt><a name="-splitdrive"><strong>splitdrive</strong></a>(p)</dt><dd><tt>Split&nbsp;a&nbsp;pathname&nbsp;into&nbsp;drive&nbsp;and&nbsp;path.&nbsp;On&nbsp;Posix,&nbsp;drive&nbsp;is&nbsp;always<br>
-empty.</tt></dd></dl>
- <dl><dt><a name="-splitext"><strong>splitext</strong></a>(p)</dt><dd><tt>Split&nbsp;the&nbsp;extension&nbsp;from&nbsp;a&nbsp;pathname.<br>
-&nbsp;<br>
-Extension&nbsp;is&nbsp;everything&nbsp;from&nbsp;the&nbsp;last&nbsp;dot&nbsp;to&nbsp;the&nbsp;end,&nbsp;ignoring<br>
-leading&nbsp;dots.&nbsp;&nbsp;Returns&nbsp;"(root,&nbsp;ext)";&nbsp;ext&nbsp;may&nbsp;be&nbsp;empty.</tt></dd></dl>
- <dl><dt><a name="-walk"><strong>walk</strong></a>(top, func, arg)</dt><dd><tt>Directory&nbsp;tree&nbsp;walk&nbsp;with&nbsp;callback&nbsp;function.<br>
-&nbsp;<br>
-For&nbsp;each&nbsp;directory&nbsp;in&nbsp;the&nbsp;directory&nbsp;tree&nbsp;rooted&nbsp;at&nbsp;top&nbsp;(including&nbsp;top<br>
-itself,&nbsp;but&nbsp;excluding&nbsp;'.'&nbsp;and&nbsp;'..'),&nbsp;call&nbsp;func(arg,&nbsp;dirname,&nbsp;fnames).<br>
-dirname&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;directory,&nbsp;and&nbsp;fnames&nbsp;a&nbsp;list&nbsp;of&nbsp;the&nbsp;names&nbsp;of<br>
-the&nbsp;files&nbsp;and&nbsp;subdirectories&nbsp;in&nbsp;dirname&nbsp;(excluding&nbsp;'.'&nbsp;and&nbsp;'..').&nbsp;&nbsp;func<br>
-may&nbsp;modify&nbsp;the&nbsp;fnames&nbsp;list&nbsp;in-place&nbsp;(e.g.&nbsp;via&nbsp;del&nbsp;or&nbsp;slice&nbsp;assignment),<br>
-and&nbsp;walk&nbsp;will&nbsp;only&nbsp;recurse&nbsp;into&nbsp;the&nbsp;subdirectories&nbsp;whose&nbsp;names&nbsp;remain&nbsp;in<br>
-fnames;&nbsp;this&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;implement&nbsp;a&nbsp;filter,&nbsp;or&nbsp;to&nbsp;impose&nbsp;a&nbsp;specific<br>
-order&nbsp;of&nbsp;visiting.&nbsp;&nbsp;No&nbsp;semantics&nbsp;are&nbsp;defined&nbsp;for,&nbsp;or&nbsp;required&nbsp;of,&nbsp;arg,<br>
-beyond&nbsp;that&nbsp;arg&nbsp;is&nbsp;always&nbsp;passed&nbsp;to&nbsp;func.&nbsp;&nbsp;It&nbsp;can&nbsp;be&nbsp;used,&nbsp;e.g.,&nbsp;to&nbsp;pass<br>
-a&nbsp;filename&nbsp;pattern,&nbsp;or&nbsp;a&nbsp;mutable&nbsp;object&nbsp;designed&nbsp;to&nbsp;accumulate<br>
-statistics.&nbsp;&nbsp;Passing&nbsp;None&nbsp;for&nbsp;arg&nbsp;is&nbsp;common.</tt></dd></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>__all__</strong> = ['normcase', 'isabs', 'join', 'splitdrive', 'split', 'splitext', 'basename', 'dirname', 'commonprefix', 'getsize', 'getmtime', 'getatime', 'getctime', 'islink', 'exists', 'lexists', 'isdir', 'isfile', 'ismount', 'walk', ...]<br>
-<strong>altsep</strong> = None<br>
-<strong>curdir</strong> = '.'<br>
-<strong>defpath</strong> = ':/bin:/usr/bin'<br>
-<strong>devnull</strong> = '/dev/null'<br>
-<strong>extsep</strong> = '.'<br>
-<strong>pardir</strong> = '..'<br>
-<strong>pathsep</strong> = ':'<br>
-<strong>sep</strong> = '/'<br>
-<strong>supports_unicode_filenames</strong> = False</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.__main__.html b/doc/pydoc/ranger.__main__.html
index 76b66476..a0ec1557 100644
--- a/doc/pydoc/ranger.__main__.html
+++ b/doc/pydoc/ranger.__main__.html
@@ -11,19 +11,20 @@
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/__main__.py">/home/hut/ranger/ranger/__main__.py</a></font></td></tr></table>
     <p><tt>#&nbsp;coding=utf-8<br>
 #<br>
-#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -41,5 +42,6 @@
     
 <tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>initialize&nbsp;objects&nbsp;and&nbsp;run&nbsp;the&nbsp;filemanager</tt></dd></dl>
+ <dl><dt><a name="-parse_arguments"><strong>parse_arguments</strong></a>()</dt><dd><tt>Parse&nbsp;the&nbsp;program&nbsp;arguments</tt></dd></dl>
 </td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.actions.html b/doc/pydoc/ranger.actions.html
deleted file mode 100644
index 761d2299..00000000
--- a/doc/pydoc/ranger.actions.html
+++ /dev/null
@@ -1,192 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.actions</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.actions</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/actions.py">/home/hut/ranger/ranger/actions.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
-#<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
-#<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.gui.widgets.console_mode.html">ranger.gui.widgets.console_mode</a><br>
-<a href="ranger.fsobject.html">ranger.fsobject</a><br>
-</td><td width="25%" valign=top><a href="os.html">os</a><br>
-<a href="ranger.html">ranger</a><br>
-</td><td width="25%" valign=top><a href="shutil.html">shutil</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>(<a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.actions.html#Actions">Actions</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
-</font></dt></dl>
-</dd>
-<dt><font face="helvetica, arial"><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.actions.html#Actions">Actions</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="Actions">class <strong>Actions</strong></a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)</font></td></tr>
-    
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.actions.html#Actions">Actions</a></dd>
-<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="Actions-cd"><strong>cd</strong></a>(self, path, remember<font color="#909090">=True</font>)</dt><dd><tt>enter&nbsp;the&nbsp;directory&nbsp;at&nbsp;the&nbsp;given&nbsp;path,&nbsp;remember=True</tt></dd></dl>
-
-<dl><dt><a name="Actions-copy"><strong>copy</strong></a>(self)</dt><dd><tt>Copy&nbsp;the&nbsp;selected&nbsp;items</tt></dd></dl>
-
-<dl><dt><a name="Actions-cut"><strong>cut</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-delete"><strong>delete</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-display_command_help"><strong>display_command_help</strong></a>(self, console_widget)</dt></dl>
-
-<dl><dt><a name="Actions-display_file"><strong>display_file</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-display_help"><strong>display_help</strong></a>(self, topic<font color="#909090">='index'</font>, narg<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="Actions-display_log"><strong>display_log</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-edit_file"><strong>edit_file</strong></a>(self, file<font color="#909090">=None</font>)</dt><dd><tt>Calls&nbsp;execute_file&nbsp;with&nbsp;the&nbsp;current&nbsp;file&nbsp;and&nbsp;app='editor'</tt></dd></dl>
-
-<dl><dt><a name="Actions-enter_bookmark"><strong>enter_bookmark</strong></a>(self, key)</dt><dd><tt>Enter&nbsp;the&nbsp;bookmark&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;key&gt;</tt></dd></dl>
-
-<dl><dt><a name="Actions-enter_dir"><strong>enter_dir</strong></a>(self, path, remember<font color="#909090">=False</font>)</dt><dd><tt>Enter&nbsp;the&nbsp;directory&nbsp;at&nbsp;the&nbsp;given&nbsp;path</tt></dd></dl>
-
-<dl><dt><a name="Actions-execute_command"><strong>execute_command</strong></a>(self, cmd, **kw)</dt></dl>
-
-<dl><dt><a name="Actions-execute_file"><strong>execute_file</strong></a>(self, files, **kw)</dt><dd><tt>Execute&nbsp;a&nbsp;file.<br>
-app&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;method&nbsp;in&nbsp;Applications,&nbsp;without&nbsp;the&nbsp;"app_"<br>
-flags&nbsp;is&nbsp;a&nbsp;string&nbsp;consisting&nbsp;of&nbsp;runner.ALLOWED_FLAGS<br>
-mode&nbsp;is&nbsp;a&nbsp;positive&nbsp;integer.<br>
-Both&nbsp;flags&nbsp;and&nbsp;mode&nbsp;specify&nbsp;how&nbsp;the&nbsp;program&nbsp;is&nbsp;run.</tt></dd></dl>
-
-<dl><dt><a name="Actions-exit"><strong>exit</strong></a>(self)</dt><dd><tt>Exit&nbsp;the&nbsp;program</tt></dd></dl>
-
-<dl><dt><a name="Actions-force_load_preview"><strong>force_load_preview</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-handle_mouse"><strong>handle_mouse</strong></a>(self)</dt><dd><tt>Handle&nbsp;mouse-buttons&nbsp;if&nbsp;one&nbsp;was&nbsp;pressed</tt></dd></dl>
-
-<dl><dt><a name="Actions-history_go"><strong>history_go</strong></a>(self, relative)</dt><dd><tt>Move&nbsp;back&nbsp;and&nbsp;forth&nbsp;in&nbsp;the&nbsp;history</tt></dd></dl>
-
-<dl><dt><a name="Actions-mark"><strong>mark</strong></a>(self, all<font color="#909090">=False</font>, toggle<font color="#909090">=False</font>, val<font color="#909090">=None</font>, movedown<font color="#909090">=None</font>, narg<font color="#909090">=1</font>)</dt><dd><tt>A&nbsp;wrapper&nbsp;for&nbsp;the&nbsp;directory.mark_xyz&nbsp;functions.<br>
-&nbsp;<br>
-Arguments:<br>
-all&nbsp;-&nbsp;change&nbsp;all&nbsp;files&nbsp;of&nbsp;the&nbsp;current&nbsp;directory&nbsp;at&nbsp;once?<br>
-toggle&nbsp;-&nbsp;toggle&nbsp;the&nbsp;marked-status?<br>
-val&nbsp;-&nbsp;mark&nbsp;or&nbsp;unmark?</tt></dd></dl>
-
-<dl><dt><a name="Actions-mkdir"><strong>mkdir</strong></a>(self, name)</dt></dl>
-
-<dl><dt><a name="Actions-move_left"><strong>move_left</strong></a>(self, narg<font color="#909090">=1</font>)</dt><dd><tt>Enter&nbsp;the&nbsp;parent&nbsp;directory</tt></dd></dl>
-
-<dl><dt><a name="Actions-move_pointer"><strong>move_pointer</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, narg<font color="#909090">=None</font>)</dt><dd><tt>Move&nbsp;the&nbsp;pointer&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;&nbsp;or&nbsp;to&nbsp;&lt;absolute&gt;</tt></dd></dl>
-
-<dl><dt><a name="Actions-move_pointer_by_pages"><strong>move_pointer_by_pages</strong></a>(self, relative)</dt><dd><tt>Move&nbsp;the&nbsp;pointer&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;&nbsp;pages</tt></dd></dl>
-
-<dl><dt><a name="Actions-move_pointer_by_percentage"><strong>move_pointer_by_percentage</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, narg<font color="#909090">=None</font>)</dt><dd><tt>Move&nbsp;the&nbsp;pointer&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;%&nbsp;or&nbsp;to&nbsp;&lt;absolute&gt;%</tt></dd></dl>
-
-<dl><dt><a name="Actions-move_right"><strong>move_right</strong></a>(self, mode<font color="#909090">=0</font>, narg<font color="#909090">=None</font>)</dt><dd><tt>Enter&nbsp;the&nbsp;current&nbsp;directory&nbsp;or&nbsp;execute&nbsp;the&nbsp;current&nbsp;file</tt></dd></dl>
-
-<dl><dt><a name="Actions-notify"><strong>notify</strong></a>(self, text, duration<font color="#909090">=4</font>, bad<font color="#909090">=False</font>)</dt></dl>
-
-<dl><dt><a name="Actions-open_console"><strong>open_console</strong></a>(self, mode<font color="#909090">=':'</font>, string<font color="#909090">=''</font>)</dt><dd><tt>Open&nbsp;the&nbsp;console&nbsp;if&nbsp;the&nbsp;current&nbsp;UI&nbsp;supports&nbsp;that</tt></dd></dl>
-
-<dl><dt><a name="Actions-paste"><strong>paste</strong></a>(self, overwrite<font color="#909090">=False</font>)</dt><dd><tt>Paste&nbsp;the&nbsp;selected&nbsp;items&nbsp;into&nbsp;the&nbsp;current&nbsp;directory</tt></dd></dl>
-
-<dl><dt><a name="Actions-paste_symlink"><strong>paste_symlink</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-redraw_window"><strong>redraw_window</strong></a>(self)</dt><dd><tt>Redraw&nbsp;the&nbsp;window</tt></dd></dl>
-
-<dl><dt><a name="Actions-reload_cwd"><strong>reload_cwd</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Actions-rename"><strong>rename</strong></a>(self, src, dest)</dt></dl>
-
-<dl><dt><a name="Actions-reset"><strong>reset</strong></a>(self)</dt><dd><tt>Reset&nbsp;the&nbsp;filemanager,&nbsp;clearing&nbsp;the&nbsp;directory&nbsp;buffer</tt></dd></dl>
-
-<dl><dt><a name="Actions-resize"><strong>resize</strong></a>(self)</dt><dd><tt>Update&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;UI</tt></dd></dl>
-
-<dl><dt><a name="Actions-scroll"><strong>scroll</strong></a>(self, relative)</dt><dd><tt>Scroll&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;&nbsp;lines</tt></dd></dl>
-
-<dl><dt><a name="Actions-search"><strong>search</strong></a>(self, order<font color="#909090">=None</font>, forward<font color="#909090">=True</font>)</dt></dl>
-
-<dl><dt><a name="Actions-set_bookmark"><strong>set_bookmark</strong></a>(self, key)</dt><dd><tt>Set&nbsp;the&nbsp;bookmark&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;key&gt;&nbsp;to&nbsp;the&nbsp;current&nbsp;directory</tt></dd></dl>
-
-<dl><dt><a name="Actions-set_filter"><strong>set_filter</strong></a>(self, fltr)</dt></dl>
-
-<dl><dt><a name="Actions-set_search_method"><strong>set_search_method</strong></a>(self, order, forward<font color="#909090">=True</font>)</dt></dl>
-
-<dl><dt><a name="Actions-sort"><strong>sort</strong></a>(self, func<font color="#909090">=None</font>, reverse<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="Actions-tag_remove"><strong>tag_remove</strong></a>(self, movedown<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="Actions-tag_toggle"><strong>tag_toggle</strong></a>(self, movedown<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="Actions-toggle_boolean_option"><strong>toggle_boolean_option</strong></a>(self, string)</dt><dd><tt>Toggle&nbsp;a&nbsp;boolean&nbsp;option&nbsp;named&nbsp;&lt;string&gt;</tt></dd></dl>
-
-<dl><dt><a name="Actions-unset_bookmark"><strong>unset_bookmark</strong></a>(self, key)</dt><dd><tt>Delete&nbsp;the&nbsp;bookmark&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;key&gt;</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>search_forward</strong> = False</dl>
-
-<dl><dt><strong>search_method</strong> = 'ctime'</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>:<br>
-<dl><dt><strong>env</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
-
-</td></tr></table></td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.applications.html b/doc/pydoc/ranger.applications.html
deleted file mode 100644
index 29755773..00000000
--- a/doc/pydoc/ranger.applications.html
+++ /dev/null
@@ -1,129 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.applications</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.applications</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/applications.pyc">/home/hut/ranger/ranger/applications.pyc</a></font></td></tr></table>
-    <p><tt>This&nbsp;module&nbsp;provides&nbsp;helper&nbsp;functions/classes&nbsp;for&nbsp;ranger.defaults.apps.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>(<a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.applications.html#Applications">Applications</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="Applications">class <strong>Applications</strong></a>(<a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>This&nbsp;class&nbsp;contains&nbsp;definitions&nbsp;on&nbsp;how&nbsp;to&nbsp;run&nbsp;programs&nbsp;and&nbsp;should<br>
-be&nbsp;extended&nbsp;in&nbsp;ranger.defaults.apps<br>
-&nbsp;<br>
-The&nbsp;user&nbsp;can&nbsp;decide&nbsp;what&nbsp;program&nbsp;to&nbsp;run,&nbsp;and&nbsp;if&nbsp;he&nbsp;uses&nbsp;eg.&nbsp;'vim',&nbsp;the<br>
-function&nbsp;app_vim()&nbsp;will&nbsp;be&nbsp;called.&nbsp;&nbsp;However,&nbsp;usually&nbsp;the&nbsp;user<br>
-simply&nbsp;wants&nbsp;to&nbsp;"start"&nbsp;the&nbsp;file&nbsp;without&nbsp;specific&nbsp;instructions.<br>
-In&nbsp;such&nbsp;a&nbsp;case,&nbsp;app_default()&nbsp;is&nbsp;called,&nbsp;where&nbsp;you&nbsp;should&nbsp;examine<br>
-the&nbsp;context&nbsp;and&nbsp;decide&nbsp;which&nbsp;program&nbsp;to&nbsp;use.<br>
-&nbsp;<br>
-All&nbsp;app&nbsp;functions&nbsp;have&nbsp;a&nbsp;name&nbsp;starting&nbsp;with&nbsp;app_&nbsp;and&nbsp;return&nbsp;a&nbsp;string<br>
-containing&nbsp;the&nbsp;whole&nbsp;command&nbsp;or&nbsp;a&nbsp;tuple&nbsp;containing&nbsp;a&nbsp;list&nbsp;of&nbsp;the<br>
-arguments.&nbsp;They&nbsp;are&nbsp;supplied&nbsp;with&nbsp;one&nbsp;argument,&nbsp;which&nbsp;is&nbsp;the<br>
-AppContext&nbsp;instance.<br>
-&nbsp;<br>
-You&nbsp;should&nbsp;define&nbsp;at&nbsp;least&nbsp;app_default,&nbsp;app_pager&nbsp;and&nbsp;app_editor&nbsp;since<br>
-internal&nbsp;functions&nbsp;depend&nbsp;on&nbsp;those.&nbsp;&nbsp;Here&nbsp;are&nbsp;sample&nbsp;implementations:<br>
-&nbsp;<br>
-def&nbsp;app_default(self,&nbsp;context):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;context.file.media:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;context.file.video:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;detach&nbsp;videos&nbsp;from&nbsp;the&nbsp;filemanager<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.flags&nbsp;+=&nbsp;'d'<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;app_mplayer(context)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;app_editor(context)<br>
-&nbsp;<br>
-def&nbsp;app_pager(self,&nbsp;context):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;('less',&nbsp;)&nbsp;+&nbsp;tuple(context)<br>
-&nbsp;<br>
-def&nbsp;app_editor(self,&nbsp;context):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;('vim',&nbsp;)&nbsp;+&nbsp;tuple(context)<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.applications.html#Applications">Applications</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="Applications-all"><strong>all</strong></a>(self)</dt><dd><tt>Returns&nbsp;a&nbsp;list&nbsp;with&nbsp;all&nbsp;application&nbsp;functions</tt></dd></dl>
-
-<dl><dt><a name="Applications-app_self"><strong>app_self</strong></a>(self, context)</dt><dd><tt>Run&nbsp;the&nbsp;file&nbsp;itself</tt></dd></dl>
-
-<dl><dt><a name="Applications-apply"><strong>apply</strong></a>(self, app, context)</dt></dl>
-
-<dl><dt><a name="Applications-either"><strong>either</strong></a>(self, context, *args)</dt></dl>
-
-<dl><dt><a name="Applications-get"><strong>get</strong></a>(self, app)</dt><dd><tt>Looks&nbsp;for&nbsp;an&nbsp;application,&nbsp;returns&nbsp;app_default&nbsp;if&nbsp;it&nbsp;doesn't&nbsp;exist</tt></dd></dl>
-
-<dl><dt><a name="Applications-has"><strong>has</strong></a>(self, app)</dt><dd><tt>Returns&nbsp;whether&nbsp;an&nbsp;application&nbsp;is&nbsp;defined</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-depends_on"><strong>depends_on</strong></a>(*args)</dt></dl>
- <dl><dt><a name="-tup"><strong>tup</strong></a>(*args)</dt><dd><tt>This&nbsp;helper&nbsp;function&nbsp;creates&nbsp;a&nbsp;tuple&nbsp;out&nbsp;of&nbsp;the&nbsp;arguments.<br>
-&nbsp;<br>
-('a',&nbsp;)&nbsp;+&nbsp;tuple(some_iterator)<br>
-is&nbsp;equivalent&nbsp;to:<br>
-<a href="#-tup">tup</a>('a',&nbsp;*some_iterator)</tt></dd></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>PIPE</strong> = -1</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.colorschemes.default.html b/doc/pydoc/ranger.colorschemes.default.html
index 1acec09d..5c5dbcc9 100644
--- a/doc/pydoc/ranger.colorschemes.default.html
+++ b/doc/pydoc/ranger.colorschemes.default.html
@@ -1,27 +1,28 @@
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module colorschemes.default</title>
+<html><head><title>Python: module ranger.colorschemes.default</title>
 </head><body bgcolor="#f0f0f8">
 
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
 <tr bgcolor="#7799ee">
 <td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="colorschemes.html"><font color="#ffffff">colorschemes</font></a>.default</strong></big></big></font></td
+<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.colorschemes.html"><font color="#ffffff">colorschemes</font></a>.default</strong></big></big></font></td
 ><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/.ranger/colorschemes/default.py">/home/hut/.ranger/colorschemes/default.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/colorschemes/default.py">/home/hut/ranger/ranger/colorschemes/default.py</a></font></td></tr></table>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -41,7 +42,7 @@
 <dt><font face="helvetica, arial"><a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
 </font></dt><dd>
 <dl>
-<dt><font face="helvetica, arial"><a href="colorschemes.default.html#Default">Default</a>
+<dt><font face="helvetica, arial"><a href="ranger.colorschemes.default.html#Default">Default</a>
 </font></dt></dl>
 </dd>
 </dl>
@@ -53,7 +54,7 @@
     
 <tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="colorschemes.default.html#Default">Default</a></dd>
+<dd><a href="ranger.colorschemes.default.html#Default">Default</a></dd>
 <dd><a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a></dd>
 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
 </dl>
diff --git a/doc/pydoc/ranger.colorschemes.html b/doc/pydoc/ranger.colorschemes.html
index 9b1d8c98..5dcb0f83 100644
--- a/doc/pydoc/ranger.colorschemes.html
+++ b/doc/pydoc/ranger.colorschemes.html
@@ -9,8 +9,7 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.colorschemes</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/colorschemes/__init__.py">/home/hut/ranger/ranger/colorschemes/__init__.py</a></font></td></tr></table>
-    <p><tt>Colorschemes&nbsp;are&nbsp;required&nbsp;to&nbsp;be&nbsp;located&nbsp;here,<br>
-or&nbsp;in&nbsp;the&nbsp;CONFDIR/colorschemes/&nbsp;directory</tt></p>
+    <p><tt>Colorschemes&nbsp;are&nbsp;required&nbsp;to&nbsp;be&nbsp;located&nbsp;here&nbsp;or&nbsp;in&nbsp;CONFDIR/colorschemes/</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -19,14 +18,9 @@ or&nbsp;in&nbsp;the&nbsp;CONFDIR/colorschemes/&nbsp;directory</tt></p>
     
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.colorschemes.default.html">default</a><br>
+<a href="ranger.colorschemes.default88.html">default88</a><br>
 </td><td width="25%" valign=top><a href="ranger.colorschemes.jungle.html">jungle</a><br>
-</td><td width="25%" valign=top><a href="ranger.colorschemes.snow.html">snow</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>__all__</strong> = ['jungle', 'default', 'snow']</td></tr></table>
+<a href="ranger.colorschemes.snow.html">snow</a><br>
+</td><td width="25%" valign=top><a href="ranger.colorschemes.texas.html">texas</a><br>
+</td><td width="25%" valign=top></td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.colorschemes.jungle.html b/doc/pydoc/ranger.colorschemes.jungle.html
index 279379b3..41f1a80c 100644
--- a/doc/pydoc/ranger.colorschemes.jungle.html
+++ b/doc/pydoc/ranger.colorschemes.jungle.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.colorschemes.html"><font color="#ffffff">colorschemes</font></a>.jungle</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/colorschemes/jungle.py">/home/hut/ranger/ranger/colorschemes/jungle.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -38,10 +39,10 @@
     
 <tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
+<dt><font face="helvetica, arial"><a href="ranger.colorschemes.default.html#Default">ranger.colorschemes.default.Default</a>(<a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a>)
 </font></dt><dd>
 <dl>
-<dt><font face="helvetica, arial"><a href="ranger.colorschemes.jungle.html#Default">Default</a>
+<dt><font face="helvetica, arial"><a href="ranger.colorschemes.jungle.html#Scheme">Scheme</a>
 </font></dt></dl>
 </dd>
 </dl>
@@ -49,28 +50,29 @@
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ffc8d8">
 <td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="Default">class <strong>Default</strong></a>(<a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a>)</font></td></tr>
+<font color="#000000" face="helvetica, arial"><a name="Scheme">class <strong>Scheme</strong></a>(<a href="ranger.colorschemes.default.html#Default">ranger.colorschemes.default.Default</a>)</font></td></tr>
     
 <tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.colorschemes.jungle.html#Default">Default</a></dd>
+<dd><a href="ranger.colorschemes.jungle.html#Scheme">Scheme</a></dd>
+<dd><a href="ranger.colorschemes.default.html#Default">ranger.colorschemes.default.Default</a></dd>
 <dd><a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a></dd>
 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="Default-use"><strong>use</strong></a>(self, context)</dt></dl>
+<dl><dt><a name="Scheme-use"><strong>use</strong></a>(self, context)</dt></dl>
 
 <hr>
 Methods inherited from <a href="ranger.gui.colorscheme.html#ColorScheme">ranger.gui.colorscheme.ColorScheme</a>:<br>
-<dl><dt><a name="Default-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+<dl><dt><a name="Scheme-__init__"><strong>__init__</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="Default-get"><strong>get</strong></a>(self, *keys)</dt><dd><tt>Returns&nbsp;the&nbsp;(fg,&nbsp;bg,&nbsp;attr)&nbsp;for&nbsp;the&nbsp;given&nbsp;keys.<br>
+<dl><dt><a name="Scheme-get"><strong>get</strong></a>(self, *keys)</dt><dd><tt>Returns&nbsp;the&nbsp;(fg,&nbsp;bg,&nbsp;attr)&nbsp;for&nbsp;the&nbsp;given&nbsp;keys.<br>
 &nbsp;<br>
-Using&nbsp;this&nbsp;function&nbsp;rather&nbsp;than&nbsp;<a href="#Default-use">use</a>()&nbsp;will&nbsp;cache&nbsp;all<br>
+Using&nbsp;this&nbsp;function&nbsp;rather&nbsp;than&nbsp;<a href="#Scheme-use">use</a>()&nbsp;will&nbsp;cache&nbsp;all<br>
 colors&nbsp;for&nbsp;faster&nbsp;access.</tt></dd></dl>
 
-<dl><dt><a name="Default-get_attr"><strong>get_attr</strong></a>(self, *keys)</dt><dd><tt>Returns&nbsp;the&nbsp;curses&nbsp;attribute&nbsp;for&nbsp;the&nbsp;specified&nbsp;keys<br>
+<dl><dt><a name="Scheme-get_attr"><strong>get_attr</strong></a>(self, *keys)</dt><dd><tt>Returns&nbsp;the&nbsp;curses&nbsp;attribute&nbsp;for&nbsp;the&nbsp;specified&nbsp;keys<br>
 &nbsp;<br>
 Ready&nbsp;to&nbsp;use&nbsp;for&nbsp;curses.setattr()</tt></dd></dl>
 
diff --git a/doc/pydoc/ranger.colorschemes.snow.html b/doc/pydoc/ranger.colorschemes.snow.html
index 275d2f95..b0e88d84 100644
--- a/doc/pydoc/ranger.colorschemes.snow.html
+++ b/doc/pydoc/ranger.colorschemes.snow.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.colorschemes.html"><font color="#ffffff">colorschemes</font></a>.snow</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/colorschemes/snow.py">/home/hut/ranger/ranger/colorschemes/snow.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/ranger.commands.html b/doc/pydoc/ranger.commands.html
deleted file mode 100644
index 1238a19b..00000000
--- a/doc/pydoc/ranger.commands.html
+++ /dev/null
@@ -1,677 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.commands</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.commands</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/commands.py">/home/hut/ranger/ranger/commands.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
-#<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
-#<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.gui.widgets.console_mode.html">ranger.gui.widgets.console_mode</a><br>
-</td><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>(<a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.commands.html#Command">Command</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.commands.html#cd">cd</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#chmod">chmod</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#delete">delete</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#edit">edit</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#filter">filter</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#find">find</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#grep">grep</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#mkdir">mkdir</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#quit">quit</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#rename">rename</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.commands.html#touch">touch</a>
-</font></dt></dl>
-</dd>
-</dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="Command">class <strong>Command</strong></a>(<a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>Abstract&nbsp;command&nbsp;class<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="Command-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="Command-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="Command-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="Command-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="cd">class <strong>cd</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#cd">cd</a>&nbsp;&lt;dirname&gt;<br>
-&nbsp;<br>
-The&nbsp;<a href="#cd">cd</a>&nbsp;command&nbsp;changes&nbsp;the&nbsp;directory.<br>
-The&nbsp;command&nbsp;'<a href="#cd">cd</a>&nbsp;-'&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;typing&nbsp;``.<br>
-&nbsp;<br>
-In&nbsp;the&nbsp;quick&nbsp;console,&nbsp;the&nbsp;directory&nbsp;will&nbsp;be&nbsp;entered&nbsp;without&nbsp;the<br>
-need&nbsp;to&nbsp;press&nbsp;enter,&nbsp;as&nbsp;soon&nbsp;as&nbsp;there&nbsp;is&nbsp;one&nbsp;unambiguous&nbsp;match.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#cd">cd</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="cd-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="cd-quick_open"><strong>quick_open</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="cd-tab"><strong>tab</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="cd-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="chmod">class <strong>chmod</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#chmod">chmod</a>&nbsp;&lt;octal&nbsp;number&gt;<br>
-&nbsp;<br>
-Sets&nbsp;the&nbsp;permissions&nbsp;of&nbsp;the&nbsp;selection&nbsp;to&nbsp;the&nbsp;octal&nbsp;number.<br>
-&nbsp;<br>
-The&nbsp;octal&nbsp;number&nbsp;is&nbsp;between&nbsp;0&nbsp;and&nbsp;777.&nbsp;The&nbsp;digits&nbsp;specify&nbsp;the<br>
-permissions&nbsp;for&nbsp;the&nbsp;user,&nbsp;the&nbsp;group&nbsp;and&nbsp;others.<br>
-&nbsp;<br>
-A&nbsp;1&nbsp;permits&nbsp;execution,&nbsp;a&nbsp;2&nbsp;permits&nbsp;writing,&nbsp;a&nbsp;4&nbsp;permits&nbsp;reading.<br>
-Add&nbsp;those&nbsp;numbers&nbsp;to&nbsp;combine&nbsp;them.&nbsp;So&nbsp;a&nbsp;7&nbsp;permits&nbsp;everything.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#chmod">chmod</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="chmod-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="chmod-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="chmod-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="chmod-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="delete">class <strong>delete</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#delete">delete</a><br>
-&nbsp;<br>
-Tries&nbsp;to&nbsp;<a href="#delete">delete</a>&nbsp;the&nbsp;selection.<br>
-&nbsp;<br>
-"Selection"&nbsp;is&nbsp;defined&nbsp;as&nbsp;all&nbsp;the&nbsp;"marked&nbsp;files"&nbsp;(by&nbsp;default,&nbsp;you<br>
-can&nbsp;mark&nbsp;files&nbsp;with&nbsp;space&nbsp;or&nbsp;v).&nbsp;If&nbsp;there&nbsp;are&nbsp;no&nbsp;marked&nbsp;files,<br>
-use&nbsp;the&nbsp;"current&nbsp;file"&nbsp;(where&nbsp;the&nbsp;cursor&nbsp;is)<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#delete">delete</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="delete-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>allow_abbrev</strong> = False</dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="delete-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="delete-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="delete-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="edit">class <strong>edit</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#edit">edit</a>&nbsp;&lt;filename&gt;<br>
-&nbsp;<br>
-Opens&nbsp;the&nbsp;specified&nbsp;file&nbsp;in&nbsp;vim<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#edit">edit</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="edit-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="edit-tab"><strong>tab</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="edit-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="edit-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="filter">class <strong>filter</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#filter">filter</a>&nbsp;&lt;string&gt;<br>
-&nbsp;<br>
-Displays&nbsp;only&nbsp;the&nbsp;files&nbsp;which&nbsp;contain&nbsp;&lt;string&gt;&nbsp;in&nbsp;their&nbsp;basename.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#filter">filter</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="filter-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="filter-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="filter-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="filter-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="find">class <strong>find</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#find">find</a>&nbsp;&lt;string&gt;<br>
-&nbsp;<br>
-The&nbsp;<a href="#find">find</a>&nbsp;command&nbsp;will&nbsp;attempt&nbsp;to&nbsp;<a href="#find">find</a>&nbsp;a&nbsp;partial,&nbsp;case&nbsp;insensitive<br>
-match&nbsp;in&nbsp;the&nbsp;filenames&nbsp;of&nbsp;the&nbsp;current&nbsp;directory.<br>
-&nbsp;<br>
-In&nbsp;the&nbsp;quick&nbsp;command&nbsp;console,&nbsp;once&nbsp;there&nbsp;is&nbsp;one&nbsp;unambiguous&nbsp;match,<br>
-the&nbsp;file&nbsp;will&nbsp;be&nbsp;run&nbsp;automatically.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#find">find</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="find-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="find-quick_open"><strong>quick_open</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="find-tab"><strong>tab</strong></a> = _tab_directory_content(self)</dt></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>count</strong> = 0</dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="find-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="grep">class <strong>grep</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#grep">grep</a>&nbsp;&lt;string&gt;<br>
-&nbsp;<br>
-Looks&nbsp;for&nbsp;a&nbsp;string&nbsp;in&nbsp;all&nbsp;marked&nbsp;files&nbsp;or&nbsp;directories<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#grep">grep</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="grep-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="grep-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="grep-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="grep-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="mkdir">class <strong>mkdir</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#mkdir">mkdir</a>&nbsp;&lt;dirname&gt;<br>
-&nbsp;<br>
-Creates&nbsp;a&nbsp;directory&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;dirname&gt;.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#mkdir">mkdir</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="mkdir-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="mkdir-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="mkdir-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="mkdir-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="quit">class <strong>quit</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#quit">quit</a><br>
-&nbsp;<br>
-Quits&nbsp;the&nbsp;program&nbsp;immediately.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#quit">quit</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="quit-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="quit-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="quit-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="quit-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="rename">class <strong>rename</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#rename">rename</a>&nbsp;&lt;newname&gt;<br>
-&nbsp;<br>
-Changes&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;currently&nbsp;highlighted&nbsp;file&nbsp;to&nbsp;&lt;newname&gt;<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#rename">rename</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="rename-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="rename-tab"><strong>tab</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="rename-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="rename-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="touch">class <strong>touch</strong></a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>:<a href="#touch">touch</a>&nbsp;&lt;fname&gt;<br>
-&nbsp;<br>
-Creates&nbsp;a&nbsp;file&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;fname&gt;.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.commands.html#touch">touch</a></dd>
-<dd><a href="ranger.commands.html#Command">Command</a></dd>
-<dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="touch-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><a name="touch-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
-
-<dl><dt><a name="touch-quick_open"><strong>quick_open</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<dl><dt><a name="touch-tab"><strong>tab</strong></a>(self)</dt><dd><tt>Override&nbsp;this</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>allow_abbrev</strong> = True</dl>
-
-<dl><dt><strong>name</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br>
-<dl><dt><strong>fm</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-alias"><strong>alias</strong></a>(**kw)</dt><dd><tt>Create&nbsp;an&nbsp;alias&nbsp;for&nbsp;commands,&nbsp;eg:&nbsp;<a href="#-alias">alias</a>(<a href="#quit">quit</a>=exit)</tt></dd></dl>
- <dl><dt><a name="-command_generator"><strong>command_generator</strong></a>(start)</dt></dl>
- <dl><dt><a name="-get_command"><strong>get_command</strong></a>(name, abbrev<font color="#909090">=True</font>)</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>by_name</strong> = {'cd': &lt;class 'ranger.commands.cd'&gt;, 'chmod': &lt;class 'ranger.commands.chmod'&gt;, 'delete': &lt;class 'ranger.commands.delete'&gt;, 'edit': &lt;class 'ranger.commands.edit'&gt;, 'filter': &lt;class 'ranger.commands.filter'&gt;, 'find': &lt;class 'ranger.commands.find'&gt;, 'grep': &lt;class 'ranger.commands.grep'&gt;, 'mkdir': &lt;class 'ranger.commands.mkdir'&gt;, 'quit': &lt;class 'ranger.commands.quit'&gt;, 'rename': &lt;class 'ranger.commands.rename'&gt;, ...}</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.container.bookmarks.html b/doc/pydoc/ranger.container.bookmarks.html
index bf0bec97..2868a5ae 100644
--- a/doc/pydoc/ranger.container.bookmarks.html
+++ b/doc/pydoc/ranger.container.bookmarks.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.container.html"><font color="#ffffff">container</font></a>.bookmarks</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/container/bookmarks.py">/home/hut/ranger/ranger/container/bookmarks.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -109,7 +110,7 @@ Data and other attributes defined here:<br>
 
 <dl><dt><strong>last_mtime</strong> = None</dl>
 
-<dl><dt><strong>load_pattern</strong> = &lt;_sre.SRE_Pattern object at 0xec7430&gt;</dl>
+<dl><dt><strong>load_pattern</strong> = &lt;_sre.SRE_Pattern object&gt;</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/doc/pydoc/ranger.container.commandlist.html b/doc/pydoc/ranger.container.commandlist.html
index 11f10162..6b17bb06 100644
--- a/doc/pydoc/ranger.container.commandlist.html
+++ b/doc/pydoc/ranger.container.commandlist.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.container.html"><font color="#ffffff">container</font></a>.commandlist</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/container/commandlist.py">/home/hut/ranger/ranger/container/commandlist.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -140,6 +141,8 @@ Data descriptors defined here:<br>
 for&nbsp;a&nbsp;given&nbsp;key&nbsp;combination.&nbsp;&nbsp;CommandLists&nbsp;must&nbsp;be&nbsp;filled&nbsp;before&nbsp;use.<br>&nbsp;</tt></td></tr>
 <tr><td>&nbsp;</td>
 <td width="100%">Methods defined here:<br>
+<dl><dt><a name="CommandList-__call__"><strong>__call__</strong></a>(self, *args, **keywords)</dt></dl>
+
 <dl><dt><a name="CommandList-__getitem__"><strong>__getitem__</strong></a>(self, key)</dt><dd><tt>Returns&nbsp;the&nbsp;command&nbsp;with&nbsp;the&nbsp;given&nbsp;key&nbsp;combination</tt></dd></dl>
 
 <dl><dt><a name="CommandList-__init__"><strong>__init__</strong></a>(self)</dt></dl>
diff --git a/doc/pydoc/ranger.container.environment.html b/doc/pydoc/ranger.container.environment.html
deleted file mode 100644
index 660ef0c6..00000000
--- a/doc/pydoc/ranger.container.environment.html
+++ /dev/null
@@ -1,130 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.container.environment</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.container.html"><font color="#ffffff">container</font></a>.environment</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/container/environment.py">/home/hut/ranger/ranger/container/environment.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
-#<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
-#<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="curses.html">curses</a><br>
-</td><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.container.environment.html#Environment">Environment</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="Environment">class <strong>Environment</strong></a>(<a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)</font></td></tr>
-    
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>A&nbsp;collection&nbsp;of&nbsp;data&nbsp;which&nbsp;is&nbsp;relevant&nbsp;for&nbsp;more&nbsp;than<br>
-one&nbsp;class.<br>&nbsp;</tt></td></tr>
-<tr><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.container.environment.html#Environment">Environment</a></dd>
-<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="Environment-__init__"><strong>__init__</strong></a>(self, path)</dt></dl>
-
-<dl><dt><a name="Environment-assign_correct_cursor_positions"><strong>assign_correct_cursor_positions</strong></a>(self)</dt><dd><tt>Assign&nbsp;correct&nbsp;cursor&nbsp;positions&nbsp;for&nbsp;subdirectories</tt></dd></dl>
-
-<dl><dt><a name="Environment-at_level"><strong>at_level</strong></a>(self, level)</dt><dd><tt>Returns&nbsp;the&nbsp;FileSystemObject&nbsp;at&nbsp;the&nbsp;given&nbsp;level.<br>
-level&nbsp;1&nbsp;=&gt;&nbsp;preview<br>
-level&nbsp;0&nbsp;=&gt;&nbsp;current&nbsp;file/directory<br>
-level&nbsp;&lt;0&nbsp;=&gt;&nbsp;parent&nbsp;directories</tt></dd></dl>
-
-<dl><dt><a name="Environment-enter_dir"><strong>enter_dir</strong></a>(self, path, history<font color="#909090">=True</font>)</dt><dd><tt>Enter&nbsp;given&nbsp;path</tt></dd></dl>
-
-<dl><dt><a name="Environment-garbage_collect"><strong>garbage_collect</strong></a>(self)</dt><dd><tt>Delete&nbsp;unused&nbsp;directory&nbsp;objects</tt></dd></dl>
-
-<dl><dt><a name="Environment-get_directory"><strong>get_directory</strong></a>(self, path)</dt><dd><tt>Get&nbsp;the&nbsp;directory&nbsp;object&nbsp;at&nbsp;the&nbsp;given&nbsp;path</tt></dd></dl>
-
-<dl><dt><a name="Environment-get_free_space"><strong>get_free_space</strong></a>(self, path)</dt></dl>
-
-<dl><dt><a name="Environment-get_selection"><strong>get_selection</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Environment-history_go"><strong>history_go</strong></a>(self, relative)</dt><dd><tt>Move&nbsp;relative&nbsp;in&nbsp;history</tt></dd></dl>
-
-<dl><dt><a name="Environment-key_append"><strong>key_append</strong></a>(self, key)</dt><dd><tt>Append&nbsp;a&nbsp;key&nbsp;to&nbsp;the&nbsp;keybuffer</tt></dd></dl>
-
-<dl><dt><a name="Environment-key_clear"><strong>key_clear</strong></a>(self)</dt><dd><tt>Clear&nbsp;the&nbsp;keybuffer</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>cf</strong> = None</dl>
-
-<dl><dt><strong>cmd</strong> = None</dl>
-
-<dl><dt><strong>copy</strong> = None</dl>
-
-<dl><dt><strong>cut</strong> = None</dl>
-
-<dl><dt><strong>directories</strong> = None</dl>
-
-<dl><dt><strong>history</strong> = None</dl>
-
-<dl><dt><strong>keybuffer</strong> = None</dl>
-
-<dl><dt><strong>last_search</strong> = None</dl>
-
-<dl><dt><strong>path</strong> = None</dl>
-
-<dl><dt><strong>pathway</strong> = None</dl>
-
-<dl><dt><strong>pwd</strong> = None</dl>
-
-<dl><dt><strong>termsize</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
-
-</td></tr></table></td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.container.history.html b/doc/pydoc/ranger.container.history.html
index 1e977b62..5a98f7ec 100644
--- a/doc/pydoc/ranger.container.history.html
+++ b/doc/pydoc/ranger.container.history.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.container.html"><font color="#ffffff">container</font></a>.history</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/container/history.py">/home/hut/ranger/ranger/container/history.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -109,7 +110,7 @@ Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception<
 
 <hr>
 Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7033f40&gt;<dd><tt>T.<a href="#HistoryEmptyException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#HistoryEmptyException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
 
 <hr>
 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.container.html b/doc/pydoc/ranger.container.html
index df13c170..2e464299 100644
--- a/doc/pydoc/ranger.container.html
+++ b/doc/pydoc/ranger.container.html
@@ -20,9 +20,8 @@ used&nbsp;to&nbsp;manage&nbsp;stored&nbsp;data</tt></p>
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.container.bookmarks.html">bookmarks</a><br>
 <a href="ranger.container.commandlist.html">commandlist</a><br>
-</td><td width="25%" valign=top><a href="ranger.container.environment.html">environment</a><br>
-<a href="ranger.container.history.html">history</a><br>
-</td><td width="25%" valign=top><a href="ranger.container.keybuffer.html">keybuffer</a><br>
-<a href="ranger.container.tags.html">tags</a><br>
+</td><td width="25%" valign=top><a href="ranger.container.history.html">history</a><br>
+<a href="ranger.container.keybuffer.html">keybuffer</a><br>
+</td><td width="25%" valign=top><a href="ranger.container.tags.html">tags</a><br>
 </td><td width="25%" valign=top></td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.container.keybuffer.html b/doc/pydoc/ranger.container.keybuffer.html
index 07d9ad4f..5ebc033a 100644
--- a/doc/pydoc/ranger.container.keybuffer.html
+++ b/doc/pydoc/ranger.container.keybuffer.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.container.html"><font color="#ffffff">container</font></a>.keybuffer</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/container/keybuffer.py">/home/hut/ranger/ranger/container/keybuffer.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
diff --git a/doc/pydoc/ranger.container.tags.html b/doc/pydoc/ranger.container.tags.html
index c0b67267..9f3ff6e8 100644
--- a/doc/pydoc/ranger.container.tags.html
+++ b/doc/pydoc/ranger.container.tags.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.container.html"><font color="#ffffff">container</font></a>.tags</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/container/tags.py">/home/hut/ranger/ranger/container/tags.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -45,10 +46,14 @@
     
 <tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%">Methods defined here:<br>
+<dl><dt><a name="Tags-__bool__"><strong>__bool__</strong></a> = <a href="#Tags-__nonzero__">__nonzero__</a>(self)</dt></dl>
+
 <dl><dt><a name="Tags-__contains__"><strong>__contains__</strong></a>(self, item)</dt></dl>
 
 <dl><dt><a name="Tags-__init__"><strong>__init__</strong></a>(self, filename)</dt></dl>
 
+<dl><dt><a name="Tags-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="Tags-add"><strong>add</strong></a>(self, *items)</dt></dl>
 
 <dl><dt><a name="Tags-dump"><strong>dump</strong></a>(self)</dt></dl>
diff --git a/doc/pydoc/ranger.defaults.apps.html b/doc/pydoc/ranger.defaults.apps.html
index b4383a69..a759a187 100644
--- a/doc/pydoc/ranger.defaults.apps.html
+++ b/doc/pydoc/ranger.defaults.apps.html
@@ -19,24 +19,24 @@ you&nbsp;may&nbsp;want&nbsp;to&nbsp;subclass&nbsp;<a href="#CustomApplications">
 This&nbsp;example&nbsp;modifies&nbsp;the&nbsp;behaviour&nbsp;of&nbsp;"feh"&nbsp;and&nbsp;adds&nbsp;a&nbsp;custom&nbsp;media&nbsp;player:<br>
 &nbsp;<br>
 ####&nbsp;start&nbsp;of&nbsp;the&nbsp;~/.ranger/apps.py&nbsp;example<br>
-from&nbsp;ranger.defaults.apps&nbsp;import&nbsp;<a href="#CustomApplications">CustomApplications</a>&nbsp;as&nbsp;DefaultApps<br>
-from&nbsp;ranger.api.apps&nbsp;import&nbsp;*<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
-class&nbsp;<a href="#CustomApplications">CustomApplications</a>(DefaultApps):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;app_kaffeine(self,&nbsp;c):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;tup('kaffeine',&nbsp;*c)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;ranger.defaults.apps&nbsp;import&nbsp;<a href="#CustomApplications">CustomApplications</a>&nbsp;as&nbsp;DefaultApps<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;ranger.api.apps&nbsp;import&nbsp;*<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;<a href="#CustomApplications">CustomApplications</a>(DefaultApps):<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;app_kaffeine(self,&nbsp;c):<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;tup('kaffeine',&nbsp;*c)<br>
 &nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;app_feh_fullscreen_by_default(self,&nbsp;c):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;tup('feh',&nbsp;'-F',&nbsp;*c)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;app_feh_fullscreen_by_default(self,&nbsp;c):<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;tup('feh',&nbsp;'-F',&nbsp;*c)<br>
 &nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;app_default(self,&nbsp;c):<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;c.file.video&nbsp;or&nbsp;c.file.audio:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;app_kaffeine(c)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;app_default(self,&nbsp;c):<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;c.file.video&nbsp;or&nbsp;c.file.audio:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;app_kaffeine(c)<br>
 &nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;c.file.image&nbsp;and&nbsp;c.mode&nbsp;==&nbsp;0:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;app_feh_fullscreen_by_default(c)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;c.file.image&nbsp;and&nbsp;c.mode&nbsp;==&nbsp;0:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;app_feh_fullscreen_by_default(c)<br>
 &nbsp;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;DefaultApps.app_default(self,&nbsp;c)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;DefaultApps.app_default(self,&nbsp;c)<br>
 ####&nbsp;end&nbsp;of&nbsp;the&nbsp;example</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -93,16 +93,22 @@ Methods defined here:<br>
 
 <dl><dt><a name="CustomApplications-app_evince"><strong>app_evince</strong></a>(self, c)</dt></dl>
 
+<dl><dt><a name="CustomApplications-app_eye_of_gnome"><strong>app_eye_of_gnome</strong></a>(self, c)</dt></dl>
+
 <dl><dt><a name="CustomApplications-app_feh"><strong>app_feh</strong></a>(self, c)</dt></dl>
 
 <dl><dt><a name="CustomApplications-app_firefox"><strong>app_firefox</strong></a>(self, c)</dt></dl>
 
+<dl><dt><a name="CustomApplications-app_gimp"><strong>app_gimp</strong></a>(self, c)</dt></dl>
+
 <dl><dt><a name="CustomApplications-app_java"><strong>app_java</strong></a>(self, c)</dt></dl>
 
 <dl><dt><a name="CustomApplications-app_javac"><strong>app_javac</strong></a>(self, c)</dt></dl>
 
 <dl><dt><a name="CustomApplications-app_make"><strong>app_make</strong></a>(self, c)</dt></dl>
 
+<dl><dt><a name="CustomApplications-app_mirage"><strong>app_mirage</strong></a>(self, c)</dt></dl>
+
 <dl><dt><a name="CustomApplications-app_mplayer"><strong>app_mplayer</strong></a>(self, c)</dt></dl>
 
 <dl><dt><a name="CustomApplications-app_opera"><strong>app_opera</strong></a>(self, c)</dt></dl>
@@ -115,6 +121,8 @@ Methods defined here:<br>
 
 <dl><dt><a name="CustomApplications-app_wine"><strong>app_wine</strong></a>(self, c)</dt></dl>
 
+<dl><dt><a name="CustomApplications-app_zathura"><strong>app_zathura</strong></a>(self, c)</dt></dl>
+
 <dl><dt><a name="CustomApplications-app_zsnes"><strong>app_zsnes</strong></a>(self, c)</dt></dl>
 
 <hr>
@@ -150,6 +158,6 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>INTERPRETED_LANGUAGES</strong> = &lt;_sre.SRE_Pattern object at 0xf6f2d0&gt;<br>
+<td width="100%"><strong>INTERPRETED_LANGUAGES</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
 <strong>PIPE</strong> = -1</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.defaults.html b/doc/pydoc/ranger.defaults.html
index 454fec42..d0b18018 100644
--- a/doc/pydoc/ranger.defaults.html
+++ b/doc/pydoc/ranger.defaults.html
@@ -18,7 +18,8 @@
     
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.defaults.apps.html">apps</a><br>
+</td><td width="25%" valign=top><a href="ranger.defaults.commands.html">commands</a><br>
 </td><td width="25%" valign=top><a href="ranger.defaults.keys.html">keys</a><br>
 </td><td width="25%" valign=top><a href="ranger.defaults.options.html">options</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table>
+</td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.defaults.keys.html b/doc/pydoc/ranger.defaults.keys.html
index f31e4159..ee20b40b 100644
--- a/doc/pydoc/ranger.defaults.keys.html
+++ b/doc/pydoc/ranger.defaults.keys.html
@@ -10,7 +10,7 @@
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/defaults/keys.py">/home/hut/ranger/ranger/defaults/keys.py</a></font></td></tr></table>
     <p><tt>This&nbsp;is&nbsp;the&nbsp;default&nbsp;key&nbsp;configuration&nbsp;file&nbsp;of&nbsp;ranger.<br>
-Syntax&nbsp;for&nbsp;binding&nbsp;keys:&nbsp;bind(*keys,&nbsp;fnc)<br>
+Syntax&nbsp;for&nbsp;binding&nbsp;keys:&nbsp;map(*keys,&nbsp;fnc)<br>
 &nbsp;<br>
 keys&nbsp;are&nbsp;one&nbsp;or&nbsp;more&nbsp;key-combinations&nbsp;which&nbsp;are&nbsp;either:<br>
 *&nbsp;a&nbsp;string<br>
@@ -70,11 +70,11 @@ Check&nbsp;ranger.keyapi&nbsp;for&nbsp;more&nbsp;information</tt></p>
  <dl><dt><a name="-has_key"><strong>has_key</strong></a>(...)</dt></dl>
  <dl><dt><a name="-init_color"><strong>init_color</strong></a>(...)</dt></dl>
  <dl><dt><a name="-init_pair"><strong>init_pair</strong></a>(...)</dt></dl>
- <dl><dt><a name="-initialize_commands"><strong>initialize_commands</strong></a>(command_list)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;main&nbsp;user&nbsp;interface</tt></dd></dl>
- <dl><dt><a name="-initialize_console_commands"><strong>initialize_console_commands</strong></a>(command_list)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;console&nbsp;widget&nbsp;only</tt></dd></dl>
- <dl><dt><a name="-initialize_embedded_pager_commands"><strong>initialize_embedded_pager_commands</strong></a>(command_list)</dt></dl>
- <dl><dt><a name="-initialize_pager_commands"><strong>initialize_pager_commands</strong></a>(command_list)</dt></dl>
- <dl><dt><a name="-initialize_taskview_commands"><strong>initialize_taskview_commands</strong></a>(command_list)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;TaskView&nbsp;widget</tt></dd></dl>
+ <dl><dt><a name="-initialize_commands"><strong>initialize_commands</strong></a>(map)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;main&nbsp;user&nbsp;interface</tt></dd></dl>
+ <dl><dt><a name="-initialize_console_commands"><strong>initialize_console_commands</strong></a>(map)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;console&nbsp;widget&nbsp;only</tt></dd></dl>
+ <dl><dt><a name="-initialize_embedded_pager_commands"><strong>initialize_embedded_pager_commands</strong></a>(map)</dt></dl>
+ <dl><dt><a name="-initialize_pager_commands"><strong>initialize_pager_commands</strong></a>(map)</dt></dl>
+ <dl><dt><a name="-initialize_taskview_commands"><strong>initialize_taskview_commands</strong></a>(map)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;TaskView&nbsp;widget</tt></dd></dl>
  <dl><dt><a name="-intrflush"><strong>intrflush</strong></a>(...)</dt></dl>
  <dl><dt><a name="-is_term_resized"><strong>is_term_resized</strong></a>(...)</dt></dl>
  <dl><dt><a name="-isendwin"><strong>isendwin</strong></a>(...)</dt></dl>
@@ -374,7 +374,7 @@ Check&nbsp;ranger.keyapi&nbsp;for&nbsp;more&nbsp;information</tt></p>
 <strong>US</strong> = 31<br>
 <strong>VT</strong> = 11<br>
 <strong>controlnames</strong> = ['NUL', 'SOH', 'STX', 'ETX', 'EOT', 'ENQ', 'ACK', 'BEL', 'BS', 'HT', 'LF', 'VT', 'FF', 'CR', 'SO', 'SI', 'DLE', 'DC1', 'DC2', 'DC3', ...]<br>
-<strong>fm</strong> = &lt;ranger.api.keys.Wrapper object at 0xecf210&gt;<br>
+<strong>fm</strong> = &lt;ranger.api.keys.Wrapper object&gt;<br>
 <strong>version</strong> = '2.2'<br>
-<strong>wdg</strong> = &lt;ranger.api.keys.Wrapper object at 0xecf250&gt;</td></tr></table>
+<strong>wdg</strong> = &lt;ranger.api.keys.Wrapper object&gt;</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.defaults.options.html b/doc/pydoc/ranger.defaults.options.html
index ce9c7ec7..76e7089d 100644
--- a/doc/pydoc/ranger.defaults.options.html
+++ b/doc/pydoc/ranger.defaults.options.html
@@ -10,8 +10,20 @@
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/defaults/options.py">/home/hut/ranger/ranger/defaults/options.py</a></font></td></tr></table>
     <p><tt>This&nbsp;is&nbsp;the&nbsp;default&nbsp;configuration&nbsp;file&nbsp;of&nbsp;ranger.<br>
-If&nbsp;you&nbsp;do&nbsp;any&nbsp;changes,&nbsp;make&nbsp;sure&nbsp;the&nbsp;import-line&nbsp;stays<br>
-intact&nbsp;and&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;value&nbsp;stays&nbsp;the&nbsp;same.</tt></p>
+&nbsp;<br>
+There&nbsp;are&nbsp;two&nbsp;ways&nbsp;of&nbsp;customizing&nbsp;ranger.&nbsp;&nbsp;The&nbsp;first&nbsp;and&nbsp;recommended<br>
+method&nbsp;is&nbsp;creating&nbsp;a&nbsp;file&nbsp;at&nbsp;~/.ranger/options.py&nbsp;and&nbsp;adding<br>
+those&nbsp;lines&nbsp;you&nbsp;want&nbsp;to&nbsp;change.&nbsp;&nbsp;It&nbsp;might&nbsp;look&nbsp;like&nbsp;this:<br>
+&nbsp;<br>
+from&nbsp;ranger.api.options&nbsp;import&nbsp;*<br>
+preview_files&nbsp;=&nbsp;False&nbsp;&nbsp;#&nbsp;I&nbsp;hate&nbsp;previews!<br>
+max_history_size&nbsp;=&nbsp;2000&nbsp;&nbsp;#&nbsp;I&nbsp;can&nbsp;afford&nbsp;it.<br>
+&nbsp;<br>
+The&nbsp;other&nbsp;way&nbsp;is&nbsp;directly&nbsp;editing&nbsp;this&nbsp;file.&nbsp;&nbsp;This&nbsp;will&nbsp;make&nbsp;upgrades<br>
+of&nbsp;ranger&nbsp;more&nbsp;complicated&nbsp;though.<br>
+&nbsp;<br>
+Whatever&nbsp;you&nbsp;do,&nbsp;make&nbsp;sure&nbsp;the&nbsp;import-line&nbsp;stays&nbsp;intact&nbsp;and&nbsp;the&nbsp;type<br>
+of&nbsp;the&nbsp;values&nbsp;stay&nbsp;the&nbsp;same.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -19,10 +31,9 @@ intact&nbsp;and&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;value&nbsp;stays&nbsp;t
 <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
     
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="colorschemes.default.html">colorschemes.default</a><br>
-</td><td width="25%" valign=top><a href="ranger.colorschemes.html">ranger.colorschemes</a><br>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.colorschemes.html">ranger.colorschemes</a><br>
 </td><td width="25%" valign=top><a href="re.html">re</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#55aa55">
 <td colspan=3 valign=bottom>&nbsp;<br>
@@ -31,13 +42,18 @@ intact&nbsp;and&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;value&nbsp;stays&nbsp;t
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><strong>autosave_bookmarks</strong> = True<br>
 <strong>collapse_preview</strong> = True<br>
+<strong>colorscheme</strong> = 'default'<br>
 <strong>directories_first</strong> = True<br>
+<strong>draw_borders</strong> = False<br>
 <strong>flushinput</strong> = True<br>
-<strong>hidden_filter</strong> = &lt;_sre.SRE_Pattern object at 0xf84030&gt;<br>
+<strong>hidden_filter</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
+<strong>max_filesize_for_preview</strong> = 307200<br>
 <strong>max_history_size</strong> = 20<br>
+<strong>preview_directories</strong> = True<br>
 <strong>preview_files</strong> = True<br>
 <strong>reverse</strong> = False<br>
 <strong>scroll_offset</strong> = 2<br>
+<strong>shorten_title</strong> = 3<br>
 <strong>show_cursor</strong> = False<br>
 <strong>show_hidden</strong> = False<br>
 <strong>sort</strong> = 'basename'<br>
diff --git a/doc/pydoc/ranger.ext.accumulator.html b/doc/pydoc/ranger.ext.accumulator.html
index a9c389b5..170aeea0 100644
--- a/doc/pydoc/ranger.ext.accumulator.html
+++ b/doc/pydoc/ranger.ext.accumulator.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.accumulator</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/accumulator.py">/home/hut/ranger/ranger/ext/accumulator.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
diff --git a/doc/pydoc/ranger.ext.command_parser.html b/doc/pydoc/ranger.ext.command_parser.html
index c447113c..9e6fc950 100644
--- a/doc/pydoc/ranger.ext.command_parser.html
+++ b/doc/pydoc/ranger.ext.command_parser.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.command_parser</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/command_parser.py">/home/hut/ranger/ranger/ext/command_parser.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
diff --git a/doc/pydoc/ranger.ext.debug.html b/doc/pydoc/ranger.ext.debug.html
deleted file mode 100644
index 140ab883..00000000
--- a/doc/pydoc/ranger.ext.debug.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.ext.debug</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.debug</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/debug.py">/home/hut/ranger/ranger/ext/debug.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
-#<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
-#<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-log"><strong>log</strong></a>(*objects, **keywords)</dt><dd><tt>Writes&nbsp;objects&nbsp;to&nbsp;a&nbsp;logfile.<br>
-Has&nbsp;the&nbsp;same&nbsp;arguments&nbsp;as&nbsp;print()&nbsp;in&nbsp;python3</tt></dd></dl>
- <dl><dt><a name="-trace"><strong>trace</strong></a>()</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>LOGFILE</strong> = '/tmp/errorlog'</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.ext.get_all_modules.html b/doc/pydoc/ranger.ext.get_all_modules.html
index a1cc8a50..98a88675 100644
--- a/doc/pydoc/ranger.ext.get_all_modules.html
+++ b/doc/pydoc/ranger.ext.get_all_modules.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.get_all_modules</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/get_all_modules.py">/home/hut/ranger/ranger/ext/get_all_modules.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#eeaa77">
diff --git a/doc/pydoc/ranger.ext.html b/doc/pydoc/ranger.ext.html
index 3da196d3..d58c1b87 100644
--- a/doc/pydoc/ranger.ext.html
+++ b/doc/pydoc/ranger.ext.html
@@ -20,17 +20,15 @@
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.ext.accumulator.html">accumulator</a><br>
 <a href="ranger.ext.command_parser.html">command_parser</a><br>
 <a href="ranger.ext.curses_interrupt_handler.html">curses_interrupt_handler</a><br>
-<a href="ranger.ext.debug.html">debug</a><br>
-</td><td width="25%" valign=top><a href="ranger.ext.get_all_modules.html">get_all_modules</a><br>
-<a href="ranger.ext.get_executables.html">get_executables</a><br>
+<a href="ranger.ext.get_all_modules.html">get_all_modules</a><br>
+</td><td width="25%" valign=top><a href="ranger.ext.get_executables.html">get_executables</a><br>
 <a href="ranger.ext.human_readable.html">human_readable</a><br>
 <a href="ranger.ext.iter_tools.html">iter_tools</a><br>
-</td><td width="25%" valign=top><a href="ranger.ext.mount_path.html">mount_path</a><br>
-<a href="ranger.ext.move.html">move</a><br>
+<a href="ranger.ext.mount_path.html">mount_path</a><br>
+</td><td width="25%" valign=top><a href="ranger.ext.move.html">move</a><br>
 <a href="ranger.ext.openstruct.html">openstruct</a><br>
-<a href="ranger.ext.relpath.html">relpath</a><br>
-</td><td width="25%" valign=top><a href="ranger.ext.shell_escape.html">shell_escape</a><br>
+<a href="ranger.ext.shell_escape.html">shell_escape</a><br>
 <a href="ranger.ext.shutil_generatorized.html">shutil_generatorized</a><br>
-<a href="ranger.ext.waitpid_no_intr.html">waitpid_no_intr</a><br>
+</td><td width="25%" valign=top><a href="ranger.ext.waitpid_no_intr.html">waitpid_no_intr</a><br>
 </td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.ext.human_readable.html b/doc/pydoc/ranger.ext.human_readable.html
index 6fffb7bb..a4d71ea9 100644
--- a/doc/pydoc/ranger.ext.human_readable.html
+++ b/doc/pydoc/ranger.ext.human_readable.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.human_readable</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/human_readable.py">/home/hut/ranger/ranger/ext/human_readable.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#eeaa77">
diff --git a/doc/pydoc/ranger.ext.move.html b/doc/pydoc/ranger.ext.move.html
index 76123bd9..d3858ab4 100644
--- a/doc/pydoc/ranger.ext.move.html
+++ b/doc/pydoc/ranger.ext.move.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.move</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/move.py">/home/hut/ranger/ranger/ext/move.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#eeaa77">
diff --git a/doc/pydoc/ranger.ext.openstruct.html b/doc/pydoc/ranger.ext.openstruct.html
index 4df349ce..d4340807 100644
--- a/doc/pydoc/ranger.ext.openstruct.html
+++ b/doc/pydoc/ranger.ext.openstruct.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.openstruct</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/openstruct.py">/home/hut/ranger/ranger/ext/openstruct.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -30,7 +31,7 @@
     
 <tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
+<dt><font face="helvetica, arial"><a href="__builtin__.html#dict">__builtin__.dict</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.ext.openstruct.html#OpenStruct">OpenStruct</a>
@@ -41,17 +42,19 @@
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ffc8d8">
 <td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="OpenStruct">class <strong>OpenStruct</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+<font color="#000000" face="helvetica, arial"><a name="OpenStruct">class <strong>OpenStruct</strong></a>(<a href="__builtin__.html#dict">__builtin__.dict</a>)</font></td></tr>
     
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="OpenStruct-__contains__"><strong>__contains__</strong></a>(self, key)</dt></dl>
-
-<dl><dt><a name="OpenStruct-__getitem__"><strong>__getitem__</strong></a>(self, key)</dt></dl>
-
-<dl><dt><a name="OpenStruct-__init__"><strong>__init__</strong></a>(self, _OpenStruct__dictionary<font color="#909090">=None</font>, **_OpenStruct__keywords)</dt></dl>
-
-<dl><dt><a name="OpenStruct-__setitem__"><strong>__setitem__</strong></a>(self, key, value)</dt></dl>
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
+<td colspan=2><tt>The&nbsp;fusion&nbsp;of&nbsp;<a href="__builtin__.html#dict">dict</a>&nbsp;and&nbsp;struct<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="ranger.ext.openstruct.html#OpenStruct">OpenStruct</a></dd>
+<dd><a href="__builtin__.html#dict">__builtin__.dict</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="OpenStruct-__init__"><strong>__init__</strong></a>(self, *_OpenStruct__args, **_OpenStruct__keywords)</dt></dl>
 
 <hr>
 Data descriptors defined here:<br>
@@ -61,5 +64,81 @@ Data descriptors defined here:<br>
 <dl><dt><strong>__weakref__</strong></dt>
 <dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
 </dl>
+<hr>
+Methods inherited from <a href="__builtin__.html#dict">__builtin__.dict</a>:<br>
+<dl><dt><a name="OpenStruct-__cmp__"><strong>__cmp__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__cmp__">__cmp__</a>(y)&nbsp;&lt;==&gt;&nbsp;cmp(x,y)</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-__contains__">__contains__</a>(k)&nbsp;-&gt;&nbsp;True&nbsp;if&nbsp;D&nbsp;has&nbsp;a&nbsp;key&nbsp;k,&nbsp;else&nbsp;False</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__delitem__"><strong>__delitem__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__delitem__">__delitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;del&nbsp;x[y]</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__eq__">__eq__</a>(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__ge__">__ge__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__gt__">__gt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__iter__">__iter__</a>()&nbsp;&lt;==&gt;&nbsp;iter(x)</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__le__">__le__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__len__">__len__</a>()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__lt__">__lt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__ne__">__ne__</a>(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__setitem__"><strong>__setitem__</strong></a>(...)</dt><dd><tt>x.<a href="#OpenStruct-__setitem__">__setitem__</a>(i,&nbsp;y)&nbsp;&lt;==&gt;&nbsp;x[i]=y</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-__sizeof__"><strong>__sizeof__</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-__sizeof__">__sizeof__</a>()&nbsp;-&gt;&nbsp;size&nbsp;of&nbsp;D&nbsp;in&nbsp;memory,&nbsp;in&nbsp;bytes</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-clear"><strong>clear</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-clear">clear</a>()&nbsp;-&gt;&nbsp;None.&nbsp;&nbsp;Remove&nbsp;all&nbsp;items&nbsp;from&nbsp;D.</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-copy"><strong>copy</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-copy">copy</a>()&nbsp;-&gt;&nbsp;a&nbsp;shallow&nbsp;copy&nbsp;of&nbsp;D</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-get"><strong>get</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-get">get</a>(k[,d])&nbsp;-&gt;&nbsp;D[k]&nbsp;if&nbsp;k&nbsp;in&nbsp;D,&nbsp;else&nbsp;d.&nbsp;&nbsp;d&nbsp;defaults&nbsp;to&nbsp;None.</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-has_key"><strong>has_key</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-has_key">has_key</a>(k)&nbsp;-&gt;&nbsp;True&nbsp;if&nbsp;D&nbsp;has&nbsp;a&nbsp;key&nbsp;k,&nbsp;else&nbsp;False</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-items"><strong>items</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-items">items</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;D's&nbsp;(key,&nbsp;value)&nbsp;pairs,&nbsp;as&nbsp;2-tuples</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-iteritems"><strong>iteritems</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-iteritems">iteritems</a>()&nbsp;-&gt;&nbsp;an&nbsp;iterator&nbsp;over&nbsp;the&nbsp;(key,&nbsp;value)&nbsp;items&nbsp;of&nbsp;D</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-iterkeys"><strong>iterkeys</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-iterkeys">iterkeys</a>()&nbsp;-&gt;&nbsp;an&nbsp;iterator&nbsp;over&nbsp;the&nbsp;keys&nbsp;of&nbsp;D</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-itervalues"><strong>itervalues</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-itervalues">itervalues</a>()&nbsp;-&gt;&nbsp;an&nbsp;iterator&nbsp;over&nbsp;the&nbsp;values&nbsp;of&nbsp;D</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-keys"><strong>keys</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-keys">keys</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;D's&nbsp;keys</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-pop"><strong>pop</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-pop">pop</a>(k[,d])&nbsp;-&gt;&nbsp;v,&nbsp;remove&nbsp;specified&nbsp;key&nbsp;and&nbsp;return&nbsp;the&nbsp;corresponding&nbsp;value.<br>
+If&nbsp;key&nbsp;is&nbsp;not&nbsp;found,&nbsp;d&nbsp;is&nbsp;returned&nbsp;if&nbsp;given,&nbsp;otherwise&nbsp;KeyError&nbsp;is&nbsp;raised</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-popitem"><strong>popitem</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-popitem">popitem</a>()&nbsp;-&gt;&nbsp;(k,&nbsp;v),&nbsp;remove&nbsp;and&nbsp;return&nbsp;some&nbsp;(key,&nbsp;value)&nbsp;pair&nbsp;as&nbsp;a<br>
+2-tuple;&nbsp;but&nbsp;raise&nbsp;KeyError&nbsp;if&nbsp;D&nbsp;is&nbsp;empty.</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-setdefault"><strong>setdefault</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-setdefault">setdefault</a>(k[,d])&nbsp;-&gt;&nbsp;D.<a href="#OpenStruct-get">get</a>(k,d),&nbsp;also&nbsp;set&nbsp;D[k]=d&nbsp;if&nbsp;k&nbsp;not&nbsp;in&nbsp;D</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-update"><strong>update</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-update">update</a>(E,&nbsp;**F)&nbsp;-&gt;&nbsp;None.&nbsp;&nbsp;Update&nbsp;D&nbsp;from&nbsp;<a href="__builtin__.html#dict">dict</a>/iterable&nbsp;E&nbsp;and&nbsp;F.<br>
+If&nbsp;E&nbsp;has&nbsp;a&nbsp;.<a href="#OpenStruct-keys">keys</a>()&nbsp;method,&nbsp;does:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;k&nbsp;in&nbsp;E:&nbsp;D[k]&nbsp;=&nbsp;E[k]<br>
+If&nbsp;E&nbsp;lacks&nbsp;.<a href="#OpenStruct-keys">keys</a>()&nbsp;method,&nbsp;does:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(k,&nbsp;v)&nbsp;in&nbsp;E:&nbsp;D[k]&nbsp;=&nbsp;v<br>
+In&nbsp;either&nbsp;case,&nbsp;this&nbsp;is&nbsp;followed&nbsp;by:&nbsp;for&nbsp;k&nbsp;in&nbsp;F:&nbsp;D[k]&nbsp;=&nbsp;F[k]</tt></dd></dl>
+
+<dl><dt><a name="OpenStruct-values"><strong>values</strong></a>(...)</dt><dd><tt>D.<a href="#OpenStruct-values">values</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;D's&nbsp;values</tt></dd></dl>
+
+<hr>
+Data and other attributes inherited from <a href="__builtin__.html#dict">__builtin__.dict</a>:<br>
+<dl><dt><strong>__hash__</strong> = None</dl>
+
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#OpenStruct-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+
+<dl><dt><strong>fromkeys</strong> = &lt;built-in method fromkeys of type object&gt;<dd><tt><a href="__builtin__.html#dict">dict</a>.<a href="#OpenStruct-fromkeys">fromkeys</a>(S[,v])&nbsp;-&gt;&nbsp;New&nbsp;<a href="__builtin__.html#dict">dict</a>&nbsp;with&nbsp;keys&nbsp;from&nbsp;S&nbsp;and&nbsp;values&nbsp;equal&nbsp;to&nbsp;v.<br>
+v&nbsp;defaults&nbsp;to&nbsp;None.</tt></dl>
+
 </td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.ext.relpath.html b/doc/pydoc/ranger.ext.relpath.html
deleted file mode 100644
index 246c5889..00000000
--- a/doc/pydoc/ranger.ext.relpath.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.ext.relpath</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.relpath</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/relpath.py">/home/hut/ranger/ranger/ext/relpath.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
-#<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
-#<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top><a href="ranger.html">ranger</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-relpath"><strong>relpath</strong></a>(*paths)</dt><dd><tt>returns&nbsp;the&nbsp;path&nbsp;relative&nbsp;to&nbsp;rangers&nbsp;library&nbsp;directory</tt></dd></dl>
- <dl><dt><a name="-relpath_conf"><strong>relpath_conf</strong></a>(*paths)</dt><dd><tt>returns&nbsp;the&nbsp;path&nbsp;relative&nbsp;to&nbsp;rangers&nbsp;configuration&nbsp;directory</tt></dd></dl>
-</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.ext.shutil_generatorized.html b/doc/pydoc/ranger.ext.shutil_generatorized.html
index 8c768653..f9db29b7 100644
--- a/doc/pydoc/ranger.ext.shutil_generatorized.html
+++ b/doc/pydoc/ranger.ext.shutil_generatorized.html
@@ -80,7 +80,7 @@ Data descriptors inherited from <a href="exceptions.html#EnvironmentError">excep
 </dl>
 <hr>
 Data and other attributes inherited from <a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7034c40&gt;<dd><tt>T.<a href="#Error-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#Error-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
 
 <hr>
 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
@@ -154,7 +154,7 @@ Data descriptors inherited from <a href="exceptions.html#EnvironmentError">excep
 </dl>
 <hr>
 Data and other attributes inherited from <a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7034c40&gt;<dd><tt>T.<a href="#SpecialFileError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#SpecialFileError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
 
 <hr>
 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.ext.waitpid_no_intr.html b/doc/pydoc/ranger.ext.waitpid_no_intr.html
index be349e28..4f141858 100644
--- a/doc/pydoc/ranger.ext.waitpid_no_intr.html
+++ b/doc/pydoc/ranger.ext.waitpid_no_intr.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.ext.html"><font color="#ffffff">ext</font></a>.waitpid_no_intr</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/ext/waitpid_no_intr.py">/home/hut/ranger/ranger/ext/waitpid_no_intr.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#eeaa77">
diff --git a/doc/pydoc/ranger.fm.html b/doc/pydoc/ranger.fm.html
deleted file mode 100644
index bf97bb22..00000000
--- a/doc/pydoc/ranger.fm.html
+++ /dev/null
@@ -1,222 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.fm</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.fm</strong></big></big> (version 1.0.3)</font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/fm.py">/home/hut/ranger/ranger/fm.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
-#<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
-#<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.actions.html#Actions">ranger.actions.Actions</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.fm.html#FM">FM</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="FM">class <strong>FM</strong></a>(<a href="ranger.actions.html#Actions">ranger.actions.Actions</a>)</font></td></tr>
-    
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="ranger.fm.html#FM">FM</a></dd>
-<dd><a href="ranger.actions.html#Actions">ranger.actions.Actions</a></dd>
-<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a></dd>
-<dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd>
-<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="FM-__init__"><strong>__init__</strong></a>(self, ui<font color="#909090">=None</font>, bookmarks<font color="#909090">=None</font>, tags<font color="#909090">=None</font>)</dt><dd><tt>Initialize&nbsp;<a href="#FM">FM</a>.</tt></dd></dl>
-
-<dl><dt><a name="FM-block_input"><strong>block_input</strong></a>(self, sec<font color="#909090">=0</font>)</dt></dl>
-
-<dl><dt><a name="FM-initialize"><strong>initialize</strong></a>(self)</dt><dd><tt>If&nbsp;ui/bookmarks&nbsp;are&nbsp;None,&nbsp;they&nbsp;will&nbsp;be&nbsp;initialized&nbsp;here.</tt></dd></dl>
-
-<dl><dt><a name="FM-loop"><strong>loop</strong></a>(self)</dt><dd><tt>The&nbsp;main&nbsp;loop&nbsp;consists&nbsp;of:<br>
-1.&nbsp;reloading&nbsp;bookmarks&nbsp;if&nbsp;outdated<br>
-2.&nbsp;letting&nbsp;the&nbsp;loader&nbsp;work<br>
-3.&nbsp;drawing&nbsp;and&nbsp;finalizing&nbsp;ui<br>
-4.&nbsp;reading&nbsp;and&nbsp;handling&nbsp;user&nbsp;input<br>
-5.&nbsp;after&nbsp;X&nbsp;loops:&nbsp;collecting&nbsp;unused&nbsp;directory&nbsp;objects</tt></dd></dl>
-
-<hr>
-Data descriptors defined here:<br>
-<dl><dt><strong>executables</strong></dt>
-</dl>
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>input_blocked</strong> = False</dl>
-
-<dl><dt><strong>input_blocked_until</strong> = 0</dl>
-
-<dl><dt><strong>stderr_to_out</strong> = False</dl>
-
-<hr>
-Methods inherited from <a href="ranger.actions.html#Actions">ranger.actions.Actions</a>:<br>
-<dl><dt><a name="FM-cd"><strong>cd</strong></a>(self, path, remember<font color="#909090">=True</font>)</dt><dd><tt>enter&nbsp;the&nbsp;directory&nbsp;at&nbsp;the&nbsp;given&nbsp;path,&nbsp;remember=True</tt></dd></dl>
-
-<dl><dt><a name="FM-copy"><strong>copy</strong></a>(self)</dt><dd><tt>Copy&nbsp;the&nbsp;selected&nbsp;items</tt></dd></dl>
-
-<dl><dt><a name="FM-cut"><strong>cut</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-delete"><strong>delete</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-display_command_help"><strong>display_command_help</strong></a>(self, console_widget)</dt></dl>
-
-<dl><dt><a name="FM-display_file"><strong>display_file</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-display_help"><strong>display_help</strong></a>(self, topic<font color="#909090">='index'</font>, narg<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="FM-display_log"><strong>display_log</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-edit_file"><strong>edit_file</strong></a>(self, file<font color="#909090">=None</font>)</dt><dd><tt>Calls&nbsp;execute_file&nbsp;with&nbsp;the&nbsp;current&nbsp;file&nbsp;and&nbsp;app='editor'</tt></dd></dl>
-
-<dl><dt><a name="FM-enter_bookmark"><strong>enter_bookmark</strong></a>(self, key)</dt><dd><tt>Enter&nbsp;the&nbsp;bookmark&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;key&gt;</tt></dd></dl>
-
-<dl><dt><a name="FM-enter_dir"><strong>enter_dir</strong></a>(self, path, remember<font color="#909090">=False</font>)</dt><dd><tt>Enter&nbsp;the&nbsp;directory&nbsp;at&nbsp;the&nbsp;given&nbsp;path</tt></dd></dl>
-
-<dl><dt><a name="FM-execute_command"><strong>execute_command</strong></a>(self, cmd, **kw)</dt></dl>
-
-<dl><dt><a name="FM-execute_file"><strong>execute_file</strong></a>(self, files, **kw)</dt><dd><tt>Execute&nbsp;a&nbsp;file.<br>
-app&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;method&nbsp;in&nbsp;Applications,&nbsp;without&nbsp;the&nbsp;"app_"<br>
-flags&nbsp;is&nbsp;a&nbsp;string&nbsp;consisting&nbsp;of&nbsp;runner.ALLOWED_FLAGS<br>
-mode&nbsp;is&nbsp;a&nbsp;positive&nbsp;integer.<br>
-Both&nbsp;flags&nbsp;and&nbsp;mode&nbsp;specify&nbsp;how&nbsp;the&nbsp;program&nbsp;is&nbsp;run.</tt></dd></dl>
-
-<dl><dt><a name="FM-exit"><strong>exit</strong></a>(self)</dt><dd><tt>Exit&nbsp;the&nbsp;program</tt></dd></dl>
-
-<dl><dt><a name="FM-force_load_preview"><strong>force_load_preview</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-handle_mouse"><strong>handle_mouse</strong></a>(self)</dt><dd><tt>Handle&nbsp;mouse-buttons&nbsp;if&nbsp;one&nbsp;was&nbsp;pressed</tt></dd></dl>
-
-<dl><dt><a name="FM-history_go"><strong>history_go</strong></a>(self, relative)</dt><dd><tt>Move&nbsp;back&nbsp;and&nbsp;forth&nbsp;in&nbsp;the&nbsp;history</tt></dd></dl>
-
-<dl><dt><a name="FM-mark"><strong>mark</strong></a>(self, all<font color="#909090">=False</font>, toggle<font color="#909090">=False</font>, val<font color="#909090">=None</font>, movedown<font color="#909090">=None</font>, narg<font color="#909090">=1</font>)</dt><dd><tt>A&nbsp;wrapper&nbsp;for&nbsp;the&nbsp;directory.mark_xyz&nbsp;functions.<br>
-&nbsp;<br>
-Arguments:<br>
-all&nbsp;-&nbsp;change&nbsp;all&nbsp;files&nbsp;of&nbsp;the&nbsp;current&nbsp;directory&nbsp;at&nbsp;once?<br>
-toggle&nbsp;-&nbsp;toggle&nbsp;the&nbsp;marked-status?<br>
-val&nbsp;-&nbsp;mark&nbsp;or&nbsp;unmark?</tt></dd></dl>
-
-<dl><dt><a name="FM-mkdir"><strong>mkdir</strong></a>(self, name)</dt></dl>
-
-<dl><dt><a name="FM-move_left"><strong>move_left</strong></a>(self, narg<font color="#909090">=1</font>)</dt><dd><tt>Enter&nbsp;the&nbsp;parent&nbsp;directory</tt></dd></dl>
-
-<dl><dt><a name="FM-move_pointer"><strong>move_pointer</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, narg<font color="#909090">=None</font>)</dt><dd><tt>Move&nbsp;the&nbsp;pointer&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;&nbsp;or&nbsp;to&nbsp;&lt;absolute&gt;</tt></dd></dl>
-
-<dl><dt><a name="FM-move_pointer_by_pages"><strong>move_pointer_by_pages</strong></a>(self, relative)</dt><dd><tt>Move&nbsp;the&nbsp;pointer&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;&nbsp;pages</tt></dd></dl>
-
-<dl><dt><a name="FM-move_pointer_by_percentage"><strong>move_pointer_by_percentage</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, narg<font color="#909090">=None</font>)</dt><dd><tt>Move&nbsp;the&nbsp;pointer&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;%&nbsp;or&nbsp;to&nbsp;&lt;absolute&gt;%</tt></dd></dl>
-
-<dl><dt><a name="FM-move_right"><strong>move_right</strong></a>(self, mode<font color="#909090">=0</font>, narg<font color="#909090">=None</font>)</dt><dd><tt>Enter&nbsp;the&nbsp;current&nbsp;directory&nbsp;or&nbsp;execute&nbsp;the&nbsp;current&nbsp;file</tt></dd></dl>
-
-<dl><dt><a name="FM-notify"><strong>notify</strong></a>(self, text, duration<font color="#909090">=4</font>, bad<font color="#909090">=False</font>)</dt></dl>
-
-<dl><dt><a name="FM-open_console"><strong>open_console</strong></a>(self, mode<font color="#909090">=':'</font>, string<font color="#909090">=''</font>)</dt><dd><tt>Open&nbsp;the&nbsp;console&nbsp;if&nbsp;the&nbsp;current&nbsp;UI&nbsp;supports&nbsp;that</tt></dd></dl>
-
-<dl><dt><a name="FM-paste"><strong>paste</strong></a>(self, overwrite<font color="#909090">=False</font>)</dt><dd><tt>Paste&nbsp;the&nbsp;selected&nbsp;items&nbsp;into&nbsp;the&nbsp;current&nbsp;directory</tt></dd></dl>
-
-<dl><dt><a name="FM-paste_symlink"><strong>paste_symlink</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-redraw_window"><strong>redraw_window</strong></a>(self)</dt><dd><tt>Redraw&nbsp;the&nbsp;window</tt></dd></dl>
-
-<dl><dt><a name="FM-reload_cwd"><strong>reload_cwd</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="FM-rename"><strong>rename</strong></a>(self, src, dest)</dt></dl>
-
-<dl><dt><a name="FM-reset"><strong>reset</strong></a>(self)</dt><dd><tt>Reset&nbsp;the&nbsp;filemanager,&nbsp;clearing&nbsp;the&nbsp;directory&nbsp;buffer</tt></dd></dl>
-
-<dl><dt><a name="FM-resize"><strong>resize</strong></a>(self)</dt><dd><tt>Update&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;UI</tt></dd></dl>
-
-<dl><dt><a name="FM-scroll"><strong>scroll</strong></a>(self, relative)</dt><dd><tt>Scroll&nbsp;down&nbsp;by&nbsp;&lt;relative&gt;&nbsp;lines</tt></dd></dl>
-
-<dl><dt><a name="FM-search"><strong>search</strong></a>(self, order<font color="#909090">=None</font>, forward<font color="#909090">=True</font>)</dt></dl>
-
-<dl><dt><a name="FM-set_bookmark"><strong>set_bookmark</strong></a>(self, key)</dt><dd><tt>Set&nbsp;the&nbsp;bookmark&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;key&gt;&nbsp;to&nbsp;the&nbsp;current&nbsp;directory</tt></dd></dl>
-
-<dl><dt><a name="FM-set_filter"><strong>set_filter</strong></a>(self, fltr)</dt></dl>
-
-<dl><dt><a name="FM-set_search_method"><strong>set_search_method</strong></a>(self, order, forward<font color="#909090">=True</font>)</dt></dl>
-
-<dl><dt><a name="FM-sort"><strong>sort</strong></a>(self, func<font color="#909090">=None</font>, reverse<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="FM-tag_remove"><strong>tag_remove</strong></a>(self, movedown<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="FM-tag_toggle"><strong>tag_toggle</strong></a>(self, movedown<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="FM-toggle_boolean_option"><strong>toggle_boolean_option</strong></a>(self, string)</dt><dd><tt>Toggle&nbsp;a&nbsp;boolean&nbsp;option&nbsp;named&nbsp;&lt;string&gt;</tt></dd></dl>
-
-<dl><dt><a name="FM-unset_bookmark"><strong>unset_bookmark</strong></a>(self, key)</dt><dd><tt>Delete&nbsp;the&nbsp;bookmark&nbsp;with&nbsp;the&nbsp;name&nbsp;&lt;key&gt;</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.actions.html#Actions">ranger.actions.Actions</a>:<br>
-<dl><dt><strong>search_forward</strong> = False</dl>
-
-<dl><dt><strong>search_method</strong> = 'ctime'</dl>
-
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>:<br>
-<dl><dt><strong>env</strong> = None</dl>
-
-<hr>
-Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<hr>
-Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
-
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-time"><strong>time</strong></a>(...)</dt><dd><tt><a href="#-time">time</a>()&nbsp;-&gt;&nbsp;floating&nbsp;point&nbsp;number<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;time&nbsp;in&nbsp;seconds&nbsp;since&nbsp;the&nbsp;Epoch.<br>
-Fractions&nbsp;of&nbsp;a&nbsp;second&nbsp;may&nbsp;be&nbsp;present&nbsp;if&nbsp;the&nbsp;system&nbsp;clock&nbsp;provides&nbsp;them.</tt></dd></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>CTRL_C</strong> = 3<br>
-<strong>TICKS_BEFORE_COLLECTING_GARBAGE</strong> = 100<br>
-<strong>__version__</strong> = '1.0.3'</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.fsobject.directory.html b/doc/pydoc/ranger.fsobject.directory.html
index 7dd2b7dd..3def97f7 100644
--- a/doc/pydoc/ranger.fsobject.directory.html
+++ b/doc/pydoc/ranger.fsobject.directory.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.fsobject.html"><font color="#ffffff">fsobject</font></a>.directory</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/fsobject/directory.py">/home/hut/ranger/ranger/fsobject/directory.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -83,6 +84,8 @@
 </dl>
 <hr>
 Methods defined here:<br>
+<dl><dt><a name="Directory-__bool__"><strong>__bool__</strong></a> = <a href="#Directory-__nonzero__">__nonzero__</a>(self)</dt></dl>
+
 <dl><dt><a name="Directory-__eq__"><strong>__eq__</strong></a>(self, other)</dt><dd><tt>Check&nbsp;for&nbsp;equality&nbsp;of&nbsp;the&nbsp;directories&nbsp;paths</tt></dd></dl>
 
 <dl><dt><a name="Directory-__hash__"><strong>__hash__</strong></a>(self)</dt></dl>
@@ -180,7 +183,7 @@ Data and other attributes defined here:<br>
 
 <dl><dt><strong>scroll_offset</strong> = 0</dl>
 
-<dl><dt><strong>sort_dict</strong> = {'basename': &lt;function sort_by_basename at 0xe37c80&gt;, 'mtime': &lt;function &lt;lambda&gt; at 0xe3c230&gt;, 'size': &lt;function &lt;lambda&gt; at 0xe3c1b8&gt;, 'type': &lt;function &lt;lambda&gt; at 0xe3c2a8&gt;}</dl>
+<dl><dt><strong>sort_dict</strong> = {'basename': &lt;function sort_by_basename&gt;, 'mtime': &lt;function &lt;lambda&gt;&gt;, 'size': &lt;function &lt;lambda&gt;&gt;, 'type': &lt;function &lt;lambda&gt;&gt;}</dl>
 
 <hr>
 Methods inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br>
@@ -209,6 +212,12 @@ or&nbsp;nonexistant.</tt></dd></dl>
 <dl><dt><a name="Directory-use"><strong>use</strong></a>(self)</dt><dd><tt>mark&nbsp;the&nbsp;filesystem-object&nbsp;as&nbsp;used&nbsp;at&nbsp;the&nbsp;current&nbsp;time</tt></dd></dl>
 
 <hr>
+Data descriptors inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br>
+<dl><dt><strong>filetype</strong></dt>
+</dl>
+<dl><dt><strong>shell_escaped_basename</strong></dt>
+</dl>
+<hr>
 Data and other attributes inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br>
 <dl><dt><strong>accessible</strong> = False</dl>
 
@@ -298,7 +307,7 @@ Methods inherited from <a href="ranger.ext.accumulator.html#Accumulator">ranger.
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -324,7 +333,7 @@ Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception<
 
 <hr>
 Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7033f40&gt;<dd><tt>T.<a href="#NoDirectoryGiven-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#NoDirectoryGiven-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
 
 <hr>
 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.fsobject.file.html b/doc/pydoc/ranger.fsobject.file.html
index 8410e2e8..b0816bd0 100644
--- a/doc/pydoc/ranger.fsobject.file.html
+++ b/doc/pydoc/ranger.fsobject.file.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.fsobject.html"><font color="#ffffff">fsobject</font></a>.file</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/fsobject/file.py">/home/hut/ranger/ranger/fsobject/file.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -85,6 +86,12 @@ or&nbsp;nonexistant.</tt></dd></dl>
 <dl><dt><a name="File-use"><strong>use</strong></a>(self)</dt><dd><tt>mark&nbsp;the&nbsp;filesystem-object&nbsp;as&nbsp;used&nbsp;at&nbsp;the&nbsp;current&nbsp;time</tt></dd></dl>
 
 <hr>
+Data descriptors inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br>
+<dl><dt><strong>filetype</strong></dt>
+</dl>
+<dl><dt><strong>shell_escaped_basename</strong></dt>
+</dl>
+<hr>
 Data and other attributes inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br>
 <dl><dt><strong>accessible</strong> = False</dl>
 
diff --git a/doc/pydoc/ranger.fsobject.fsobject.html b/doc/pydoc/ranger.fsobject.fsobject.html
index 39030964..0681dfaa 100644
--- a/doc/pydoc/ranger.fsobject.fsobject.html
+++ b/doc/pydoc/ranger.fsobject.fsobject.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.fsobject.html"><font color="#ffffff">fsobject</font></a>.fsobject</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/fsobject/fsobject.py">/home/hut/ranger/ranger/fsobject/fsobject.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -86,6 +87,12 @@ or&nbsp;nonexistant.</tt></dd></dl>
 <dl><dt><a name="FileSystemObject-use"><strong>use</strong></a>(self)</dt><dd><tt>mark&nbsp;the&nbsp;filesystem-object&nbsp;as&nbsp;used&nbsp;at&nbsp;the&nbsp;current&nbsp;time</tt></dd></dl>
 
 <hr>
+Data descriptors defined here:<br>
+<dl><dt><strong>filetype</strong></dt>
+</dl>
+<dl><dt><strong>shell_escaped_basename</strong></dt>
+</dl>
+<hr>
 Data and other attributes defined here:<br>
 <dl><dt><strong>accessible</strong> = False</dl>
 
diff --git a/doc/pydoc/ranger.fsobject.html b/doc/pydoc/ranger.fsobject.html
index 1c0391a1..864aef98 100644
--- a/doc/pydoc/ranger.fsobject.html
+++ b/doc/pydoc/ranger.fsobject.html
@@ -61,7 +61,7 @@ Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception<
 
 <hr>
 Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe7033f40&gt;<dd><tt>T.<a href="#NotLoadedYet-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#NotLoadedYet-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
 
 <hr>
 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.fsobject.loader.html b/doc/pydoc/ranger.fsobject.loader.html
index 29ba861c..c387f773 100644
--- a/doc/pydoc/ranger.fsobject.loader.html
+++ b/doc/pydoc/ranger.fsobject.loader.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.fsobject.html"><font color="#ffffff">fsobject</font></a>.loader</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/fsobject/loader.py">/home/hut/ranger/ranger/fsobject/loader.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/ranger.gui.bar.html b/doc/pydoc/ranger.gui.bar.html
index a3f5f7f9..b4036c14 100644
--- a/doc/pydoc/ranger.gui.bar.html
+++ b/doc/pydoc/ranger.gui.bar.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.bar</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/bar.py">/home/hut/ranger/ranger/gui/bar.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -202,7 +203,7 @@ cmp(x,&nbsp;y)&nbsp;-&gt;&nbsp;-1,&nbsp;0,&nbsp;1</tt></dd></dl>
 Data and other attributes inherited from <a href="__builtin__.html#list">__builtin__.list</a>:<br>
 <dl><dt><strong>__hash__</strong> = None</dl>
 
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7fdbe703db00&gt;<dd><tt>T.<a href="#BarSide-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#BarSide-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/doc/pydoc/ranger.gui.colorscheme.html b/doc/pydoc/ranger.gui.colorscheme.html
index f8fac96b..52b56a83 100644
--- a/doc/pydoc/ranger.gui.colorscheme.html
+++ b/doc/pydoc/ranger.gui.colorscheme.html
@@ -75,8 +75,12 @@ colors&nbsp;for&nbsp;faster&nbsp;access.</tt></dd></dl>
 Ready&nbsp;to&nbsp;use&nbsp;for&nbsp;curses.setattr()</tt></dd></dl>
 
 <dl><dt><a name="ColorScheme-use"><strong>use</strong></a>(self, context)</dt><dd><tt>Use&nbsp;the&nbsp;colorscheme&nbsp;to&nbsp;determine&nbsp;the&nbsp;(fg,&nbsp;bg,&nbsp;attr)&nbsp;tuple.<br>
-This&nbsp;is&nbsp;a&nbsp;dummy&nbsp;function&nbsp;which&nbsp;always&nbsp;returns&nbsp;default_colors.<br>
-Override&nbsp;this&nbsp;in&nbsp;your&nbsp;custom&nbsp;colorscheme!</tt></dd></dl>
+&nbsp;<br>
+When&nbsp;no&nbsp;colorscheme&nbsp;is&nbsp;found,&nbsp;ranger&nbsp;will&nbsp;fall&nbsp;back&nbsp;to&nbsp;this&nbsp;very<br>
+basic&nbsp;colorscheme&nbsp;where&nbsp;directories&nbsp;are&nbsp;blue&nbsp;and&nbsp;bold,&nbsp;and<br>
+selected&nbsp;files&nbsp;have&nbsp;the&nbsp;color&nbsp;inverted.<br>
+&nbsp;<br>
+Override&nbsp;this&nbsp;method&nbsp;in&nbsp;your&nbsp;own&nbsp;colorscheme.</tt></dd></dl>
 
 <hr>
 Data descriptors defined here:<br>
@@ -88,10 +92,11 @@ Data descriptors defined here:<br>
 </dl>
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
+<tr bgcolor="#eeaa77">
 <td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
     
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>CONTEXT_KEYS</strong> = ['reset', 'error', 'in_browser', 'in_statusbar', 'in_titlebar', 'in_console', 'in_pager', 'in_taskview', 'directory', 'file', 'hostname', 'executable', 'media', 'link', 'video', 'audio', 'image', 'media', 'document', 'container', ...]</td></tr></table>
+<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><dl><dt><a name="-color_pair"><strong>color_pair</strong></a>(...)</dt></dl>
+</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.curses_shortcuts.html b/doc/pydoc/ranger.gui.curses_shortcuts.html
index ddd951b8..724177b3 100644
--- a/doc/pydoc/ranger.gui.curses_shortcuts.html
+++ b/doc/pydoc/ranger.gui.curses_shortcuts.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.curses_shortcuts</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/curses_shortcuts.py">/home/hut/ranger/ranger/gui/curses_shortcuts.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -86,7 +87,7 @@ Data descriptors inherited from <a href="ranger.shared.settings.html#SettingsAwa
 </dl>
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.defaultui.html b/doc/pydoc/ranger.gui.defaultui.html
index 76fa5277..3254b508 100644
--- a/doc/pydoc/ranger.gui.defaultui.html
+++ b/doc/pydoc/ranger.gui.defaultui.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.defaultui</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/defaultui.py">/home/hut/ranger/ranger/gui/defaultui.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -136,6 +137,8 @@ Methods inherited from <a href="ranger.gui.displayable.html#DisplayableContainer
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="DefaultUI-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="DefaultUI-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -178,7 +181,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/doc/pydoc/ranger.gui.displayable.html b/doc/pydoc/ranger.gui.displayable.html
index 3778347c..a749ec1e 100644
--- a/doc/pydoc/ranger.gui.displayable.html
+++ b/doc/pydoc/ranger.gui.displayable.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.displayable</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/displayable.py">/home/hut/ranger/ranger/gui/displayable.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -123,6 +124,8 @@ Read-Only:&nbsp;(i.e.&nbsp;reccomended&nbsp;not&nbsp;to&nbsp;change&nbsp;manuall
 </dl>
 <hr>
 Methods defined here:<br>
+<dl><dt><a name="Displayable-__bool__"><strong>__bool__</strong></a> = <a href="#Displayable-__nonzero__">__nonzero__</a>(self)</dt></dl>
+
 <dl><dt><a name="Displayable-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -185,7 +188,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -241,6 +244,8 @@ Methods defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">Displayable</a>:<br>
+<dl><dt><a name="DisplayableContainer-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="DisplayableContainer-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -283,7 +288,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.html b/doc/pydoc/ranger.gui.html
index fdfe0e1b..125b42ee 100644
--- a/doc/pydoc/ranger.gui.html
+++ b/doc/pydoc/ranger.gui.html
@@ -20,11 +20,12 @@
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.gui.bar.html">bar</a><br>
 <a href="ranger.gui.color.html">color</a><br>
 <a href="ranger.gui.colorscheme.html">colorscheme</a><br>
-</td><td width="25%" valign=top><a href="ranger.gui.curses_shortcuts.html">curses_shortcuts</a><br>
+</td><td width="25%" valign=top><a href="ranger.gui.context.html">context</a><br>
+<a href="ranger.gui.curses_shortcuts.html">curses_shortcuts</a><br>
 <a href="ranger.gui.defaultui.html">defaultui</a><br>
-<a href="ranger.gui.displayable.html">displayable</a><br>
-</td><td width="25%" valign=top><a href="ranger.gui.mouse_event.html">mouse_event</a><br>
+</td><td width="25%" valign=top><a href="ranger.gui.displayable.html">displayable</a><br>
+<a href="ranger.gui.mouse_event.html">mouse_event</a><br>
 <a href="ranger.gui.ui.html">ui</a><br>
-<a href="ranger.gui.widgets.html"><strong>widgets</strong>&nbsp;(package)</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table>
+</td><td width="25%" valign=top><a href="ranger.gui.widgets.html"><strong>widgets</strong>&nbsp;(package)</a><br>
+</td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.mouse_event.html b/doc/pydoc/ranger.gui.mouse_event.html
index a6893715..7802b9a1 100644
--- a/doc/pydoc/ranger.gui.mouse_event.html
+++ b/doc/pydoc/ranger.gui.mouse_event.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.mouse_event</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/mouse_event.py">/home/hut/ranger/ranger/gui/mouse_event.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/ranger.gui.ui.html b/doc/pydoc/ranger.gui.ui.html
index 93397042..abd01711 100644
--- a/doc/pydoc/ranger.gui.ui.html
+++ b/doc/pydoc/ranger.gui.ui.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.ui</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/ui.py">/home/hut/ranger/ranger/gui/ui.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -30,10 +31,11 @@
     
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="_curses.html">_curses</a><br>
-</td><td width="25%" valign=top><a href="curses.html">curses</a><br>
-</td><td width="25%" valign=top><a href="socket.html">socket</a><br>
+<a href="curses.html">curses</a><br>
+</td><td width="25%" valign=top><a href="os.html">os</a><br>
+<a href="socket.html">socket</a><br>
 </td><td width="25%" valign=top><a href="sys.html">sys</a><br>
-</td></tr></table></td></tr></table><p>
+</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
 <td colspan=3 valign=bottom>&nbsp;<br>
@@ -120,6 +122,8 @@ Methods inherited from <a href="ranger.gui.displayable.html#DisplayableContainer
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="UI-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="UI-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -162,7 +166,14 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
-</td></tr></table></td></tr></table>
+</td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#55aa55">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><strong>TERMINALS_WITH_TITLE</strong> = ('xterm', 'xterm-256color', 'rxvt', 'rxvt-256color', 'rxvt-unicode', 'aterm', 'Eterm', 'screen', 'screen-256color')</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.browsercolumn.html b/doc/pydoc/ranger.gui.widgets.browsercolumn.html
index 7151df23..98700199 100644
--- a/doc/pydoc/ranger.gui.widgets.browsercolumn.html
+++ b/doc/pydoc/ranger.gui.widgets.browsercolumn.html
@@ -26,16 +26,10 @@
     
 <tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>(<a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.browsercolumn.html#BrowserColumn">BrowserColumn</a>(<a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>, <a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>)
-</font></dt></dl>
-</dd>
 <dt><font face="helvetica, arial"><a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>)
 </font></dt><dd>
 <dl>
-<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.browsercolumn.html#BrowserColumn">BrowserColumn</a>(<a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>, <a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>)
+<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.browsercolumn.html#BrowserColumn">BrowserColumn</a>
 </font></dt></dl>
 </dd>
 </dl>
@@ -43,7 +37,7 @@
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ffc8d8">
 <td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="BrowserColumn">class <strong>BrowserColumn</strong></a>(<a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>, <a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>)</font></td></tr>
+<font color="#000000" face="helvetica, arial"><a name="BrowserColumn">class <strong>BrowserColumn</strong></a>(<a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>)</font></td></tr>
     
 <tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
@@ -60,7 +54,12 @@
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="BrowserColumn-__init__"><strong>__init__</strong></a>(self, win, level)</dt></dl>
+<dl><dt><a name="BrowserColumn-__init__"><strong>__init__</strong></a>(self, win, level)</dt><dd><tt>win&nbsp;=&nbsp;the&nbsp;curses&nbsp;window&nbsp;object&nbsp;of&nbsp;the&nbsp;BrowserView<br>
+level&nbsp;=&nbsp;what&nbsp;to&nbsp;display?<br>
+&nbsp;<br>
+level&nbsp;&gt;0&nbsp;=&gt;&nbsp;previews<br>
+level&nbsp;0&nbsp;=&gt;&nbsp;current&nbsp;file/directory<br>
+level&nbsp;&lt;0&nbsp;=&gt;&nbsp;parent&nbsp;directories</tt></dd></dl>
 
 <dl><dt><a name="BrowserColumn-__str__"><strong>__str__</strong></a>(self)</dt></dl>
 
@@ -124,6 +123,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.pager.html#
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="BrowserColumn-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="BrowserColumn-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -165,7 +166,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -185,5 +186,5 @@ Fractions&nbsp;of&nbsp;a&nbsp;second&nbsp;may&nbsp;be&nbsp;present&nbsp;if&nbsp;
 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>PREVIEW_BLACKLIST</strong> = &lt;_sre.SRE_Pattern object at 0x10400b0&gt;</td></tr></table>
+<td width="100%"><strong>PREVIEW_BLACKLIST</strong> = &lt;_sre.SRE_Pattern object&gt;</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.browserview.html b/doc/pydoc/ranger.gui.widgets.browserview.html
index 3b3ad97b..627a62bf 100644
--- a/doc/pydoc/ranger.gui.widgets.browserview.html
+++ b/doc/pydoc/ranger.gui.widgets.browserview.html
@@ -12,6 +12,14 @@
     <p><tt>The&nbsp;<a href="#BrowserView">BrowserView</a>&nbsp;manages&nbsp;a&nbsp;set&nbsp;of&nbsp;BrowserColumns.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#aa55cc">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="curses.html">curses</a><br>
+</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
@@ -92,6 +100,8 @@ Methods inherited from <a href="ranger.gui.displayable.html#DisplayableContainer
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="BrowserView-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="BrowserView-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -132,7 +142,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.console.html b/doc/pydoc/ranger.gui.widgets.console.html
index acf5e0d8..cdf17194 100644
--- a/doc/pydoc/ranger.gui.widgets.console.html
+++ b/doc/pydoc/ranger.gui.widgets.console.html
@@ -18,7 +18,7 @@ commands,&nbsp;searching&nbsp;and&nbsp;executing&nbsp;files.</tt></p>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
     
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.commands.html">ranger.commands</a><br>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.defaults.commands.html">ranger.defaults.commands</a><br>
 </td><td width="25%" valign=top><a href="curses.html">curses</a><br>
 </td><td width="25%" valign=top><a href="string.html">string</a><br>
 </td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
@@ -148,6 +148,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="CommandConsole-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="CommandConsole-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -198,7 +200,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -286,6 +288,8 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="Console-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="Console-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -336,7 +340,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -427,6 +431,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="ConsoleWithTab-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="ConsoleWithTab-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -477,7 +483,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -486,7 +492,7 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <font color="#000000" face="helvetica, arial"><a name="OpenConsole">class <strong>OpenConsole</strong></a>(<a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a>)</font></td></tr>
     
 <tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>The&nbsp;<a href="#OpenConsole">OpenConsole</a>&nbsp;allows&nbsp;you&nbsp;to&nbsp;execute&nbsp;shell&nbsp;commands:<br>
+<td colspan=2><tt>The&nbsp;Open&nbsp;<a href="#Console">Console</a>&nbsp;allows&nbsp;you&nbsp;to&nbsp;execute&nbsp;shell&nbsp;commands:<br>
 !vim&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;run&nbsp;vim&nbsp;and&nbsp;open&nbsp;all&nbsp;files&nbsp;in&nbsp;the&nbsp;directory.<br>
 &nbsp;<br>
 %f&nbsp;will&nbsp;be&nbsp;replaced&nbsp;with&nbsp;the&nbsp;basename&nbsp;of&nbsp;the&nbsp;highlighted&nbsp;file<br>
@@ -496,14 +502,14 @@ There&nbsp;is&nbsp;a&nbsp;special&nbsp;syntax&nbsp;for&nbsp;more&nbsp;control:<b
 &nbsp;<br>
 !d!&nbsp;mplayer&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;run&nbsp;mplayer&nbsp;with&nbsp;flags&nbsp;(d&nbsp;means&nbsp;detached)<br>
 !@&nbsp;mplayer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;open&nbsp;the&nbsp;selected&nbsp;files&nbsp;with&nbsp;mplayer<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(equivalent&nbsp;to&nbsp;!mplayer&nbsp;%s)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(equivalent&nbsp;to&nbsp;!mplayer&nbsp;%s)<br>
 &nbsp;<br>
-those&nbsp;two&nbsp;can&nbsp;be&nbsp;combinated:<br>
+Those&nbsp;two&nbsp;can&nbsp;be&nbsp;combinated:<br>
 &nbsp;<br>
 !d!@mplayer&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;open&nbsp;the&nbsp;selection&nbsp;with&nbsp;a&nbsp;detached&nbsp;mplayer<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(again,&nbsp;this&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;!d!mplayer&nbsp;%s)<br>
 &nbsp;<br>
-For&nbsp;a&nbsp;list&nbsp;of&nbsp;other&nbsp;flags&nbsp;than&nbsp;"d",&nbsp;look&nbsp;at&nbsp;the&nbsp;documentation<br>
-of&nbsp;ranger.applications.<br>&nbsp;</tt></td></tr>
+For&nbsp;a&nbsp;list&nbsp;of&nbsp;other&nbsp;flags&nbsp;than&nbsp;"d",&nbsp;check&nbsp;chapter&nbsp;2.5&nbsp;of&nbsp;the&nbsp;documentation<br>&nbsp;</tt></td></tr>
 <tr><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
 <dd><a href="ranger.gui.widgets.console.html#OpenConsole">OpenConsole</a></dd>
@@ -592,6 +598,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="OpenConsole-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="OpenConsole-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -642,7 +650,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -752,6 +760,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="QuickCommandConsole-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="QuickCommandConsole-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -802,7 +812,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -811,10 +821,29 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <font color="#000000" face="helvetica, arial"><a name="QuickOpenConsole">class <strong>QuickOpenConsole</strong></a>(<a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a>)</font></td></tr>
     
 <tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>The&nbsp;<a href="#QuickOpenConsole">QuickOpenConsole</a>&nbsp;allows&nbsp;you&nbsp;to&nbsp;open&nbsp;files&nbsp;with<br>
-pre-defined&nbsp;programs&nbsp;and&nbsp;modes&nbsp;very&nbsp;quickly.&nbsp;By&nbsp;adding&nbsp;flags<br>
-to&nbsp;the&nbsp;command,&nbsp;you&nbsp;can&nbsp;specify&nbsp;precisely&nbsp;how&nbsp;the&nbsp;program&nbsp;is&nbsp;run,<br>
-ie.&nbsp;the&nbsp;d-flag&nbsp;will&nbsp;run&nbsp;it&nbsp;detached&nbsp;from&nbsp;the&nbsp;filemanager.<br>&nbsp;</tt></td></tr>
+<td colspan=2><tt>The&nbsp;Quick&nbsp;Open&nbsp;<a href="#Console">Console</a>&nbsp;allows&nbsp;you&nbsp;to&nbsp;open&nbsp;files&nbsp;with&nbsp;predefined&nbsp;programs<br>
+and&nbsp;modes&nbsp;very&nbsp;quickly.&nbsp;&nbsp;By&nbsp;adding&nbsp;flags&nbsp;to&nbsp;the&nbsp;command,&nbsp;you&nbsp;can&nbsp;specify<br>
+precisely&nbsp;how&nbsp;the&nbsp;program&nbsp;is&nbsp;run,&nbsp;e.g.&nbsp;the&nbsp;d-flag&nbsp;will&nbsp;run&nbsp;it&nbsp;detached<br>
+from&nbsp;the&nbsp;file&nbsp;manager.<br>
+&nbsp;<br>
+For&nbsp;a&nbsp;list&nbsp;of&nbsp;other&nbsp;flags&nbsp;than&nbsp;"d",&nbsp;check&nbsp;chapter&nbsp;2.5&nbsp;of&nbsp;the&nbsp;documentation<br>
+&nbsp;<br>
+The&nbsp;syntax&nbsp;is&nbsp;"open&nbsp;with:&nbsp;&lt;application&gt;&nbsp;&lt;mode&gt;&nbsp;&lt;flags&gt;".<br>
+The&nbsp;parsing&nbsp;of&nbsp;the&nbsp;arguments&nbsp;is&nbsp;very&nbsp;flexible.&nbsp;&nbsp;You&nbsp;can&nbsp;leave&nbsp;out&nbsp;one&nbsp;or<br>
+more&nbsp;arguments&nbsp;(or&nbsp;even&nbsp;all&nbsp;of&nbsp;them)&nbsp;and&nbsp;it&nbsp;will&nbsp;fall&nbsp;back&nbsp;to&nbsp;default<br>
+values.&nbsp;&nbsp;You&nbsp;can&nbsp;switch&nbsp;the&nbsp;order&nbsp;as&nbsp;well.<br>
+There&nbsp;is&nbsp;just&nbsp;one&nbsp;rule:<br>
+&nbsp;<br>
+If&nbsp;you&nbsp;supply&nbsp;the&nbsp;&lt;application&gt;,&nbsp;it&nbsp;has&nbsp;to&nbsp;be&nbsp;the&nbsp;first&nbsp;argument.<br>
+&nbsp;<br>
+Examples:<br>
+&nbsp;<br>
+open&nbsp;with:&nbsp;mplayer&nbsp;D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open&nbsp;the&nbsp;selection&nbsp;in&nbsp;mplayer,&nbsp;but&nbsp;not&nbsp;detached<br>
+open&nbsp;with:&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open&nbsp;it&nbsp;with&nbsp;the&nbsp;default&nbsp;handler&nbsp;in&nbsp;mode&nbsp;1<br>
+open&nbsp;with:&nbsp;d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open&nbsp;it&nbsp;detached&nbsp;with&nbsp;the&nbsp;default&nbsp;handler<br>
+open&nbsp;with:&nbsp;p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open&nbsp;it&nbsp;as&nbsp;usual,&nbsp;but&nbsp;pipe&nbsp;the&nbsp;output&nbsp;to&nbsp;"less"<br>
+open&nbsp;with:&nbsp;totem&nbsp;1&nbsp;Ds&nbsp;&nbsp;&nbsp;&nbsp;open&nbsp;in&nbsp;totem&nbsp;in&nbsp;mode&nbsp;1,&nbsp;will&nbsp;not&nbsp;detach&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;process&nbsp;(flag&nbsp;D)&nbsp;but&nbsp;discard&nbsp;the&nbsp;output&nbsp;(flag&nbsp;s)<br>&nbsp;</tt></td></tr>
 <tr><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
 <dd><a href="ranger.gui.widgets.console.html#QuickOpenConsole">QuickOpenConsole</a></dd>
@@ -903,6 +932,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="QuickOpenConsole-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="QuickOpenConsole-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -953,7 +984,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -1046,6 +1077,8 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="SearchConsole-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="SearchConsole-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -1096,7 +1129,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/doc/pydoc/ranger.gui.widgets.console_mode.html b/doc/pydoc/ranger.gui.widgets.console_mode.html
index acae15bc..155fe07d 100644
--- a/doc/pydoc/ranger.gui.widgets.console_mode.html
+++ b/doc/pydoc/ranger.gui.widgets.console_mode.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.<a href="ranger.gui.widgets.html"><font color="#ffffff">widgets</font></a>.console_mode</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/widgets/console_mode.py">/home/hut/ranger/ranger/gui/widgets/console_mode.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#eeaa77">
diff --git a/doc/pydoc/ranger.gui.widgets.html b/doc/pydoc/ranger.gui.widgets.html
index 4ddbde76..a37dabc9 100644
--- a/doc/pydoc/ranger.gui.widgets.html
+++ b/doc/pydoc/ranger.gui.widgets.html
@@ -9,19 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.widgets</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/widgets/__init__.py">/home/hut/ranger/ranger/gui/widgets/__init__.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -74,6 +75,8 @@ classification&nbsp;of&nbsp;widgets.<br>&nbsp;</tt></td></tr>
 </dl>
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="Widget-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="Widget-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -136,7 +139,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.pager.html b/doc/pydoc/ranger.gui.widgets.pager.html
index add03cde..9705600f 100644
--- a/doc/pydoc/ranger.gui.widgets.pager.html
+++ b/doc/pydoc/ranger.gui.widgets.pager.html
@@ -87,6 +87,8 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="Pager-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="Pager-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -134,7 +136,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -143,8 +145,8 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>BAR_REGEXP</strong> = &lt;_sre.SRE_Pattern object at 0xfe2270&gt;<br>
-<strong>QUOTES_REGEXP</strong> = &lt;_sre.SRE_Pattern object at 0xfdc580&gt;<br>
-<strong>SPECIAL_CHARS_REGEXP</strong> = &lt;_sre.SRE_Pattern object at 0xfe43a0&gt;<br>
-<strong>TITLE_REGEXP</strong> = &lt;_sre.SRE_Pattern object at 0xf944b0&gt;</td></tr></table>
+<td width="100%"><strong>BAR_REGEXP</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
+<strong>QUOTES_REGEXP</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
+<strong>SPECIAL_CHARS_REGEXP</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
+<strong>TITLE_REGEXP</strong> = &lt;_sre.SRE_Pattern object&gt;</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.statusbar.html b/doc/pydoc/ranger.gui.widgets.statusbar.html
index d8803a67..1a97d532 100644
--- a/doc/pydoc/ranger.gui.widgets.statusbar.html
+++ b/doc/pydoc/ranger.gui.widgets.statusbar.html
@@ -119,6 +119,8 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="StatusBar-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="StatusBar-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -175,7 +177,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/doc/pydoc/ranger.gui.widgets.taskview.html b/doc/pydoc/ranger.gui.widgets.taskview.html
index 9407d96c..28c63c4e 100644
--- a/doc/pydoc/ranger.gui.widgets.taskview.html
+++ b/doc/pydoc/ranger.gui.widgets.taskview.html
@@ -80,6 +80,8 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="TaskView-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="TaskView-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -130,7 +132,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 <hr>
 Methods inherited from <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>:<br>
diff --git a/doc/pydoc/ranger.gui.widgets.titlebar.html b/doc/pydoc/ranger.gui.widgets.titlebar.html
index 8bf58172..419eb5b1 100644
--- a/doc/pydoc/ranger.gui.widgets.titlebar.html
+++ b/doc/pydoc/ranger.gui.widgets.titlebar.html
@@ -63,6 +63,8 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<dl><dt><a name="TitleBar-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
 <dl><dt><a name="TitleBar-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is&nbsp;item&nbsp;inside&nbsp;the&nbsp;boundaries?<br>
 item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;object&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
@@ -121,7 +123,7 @@ Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/doc/pydoc/ranger.html b/doc/pydoc/ranger.html
index ba425b71..cba764cb 100644
--- a/doc/pydoc/ranger.html
+++ b/doc/pydoc/ranger.html
@@ -6,7 +6,7 @@
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
 <tr bgcolor="#7799ee">
 <td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>ranger</strong></big></big> (version 1.0.3)</font></td
+<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>ranger</strong></big></big> (version 1.0.4)</font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/__init__.py">/home/hut/ranger/ranger/__init__.py</a></font></td></tr></table>
     <p><tt>Ranger&nbsp;-&nbsp;file&nbsp;browser&nbsp;for&nbsp;the&nbsp;unix&nbsp;terminal</tt></p>
@@ -18,51 +18,58 @@
     
 <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.__main__.html">__main__</a><br>
-<a href="ranger.actions.html">actions</a><br>
 <a href="ranger.api.html"><strong>api</strong>&nbsp;(package)</a><br>
-<a href="ranger.applications.html">applications</a><br>
-</td><td width="25%" valign=top><a href="ranger.colorschemes.html"><strong>colorschemes</strong>&nbsp;(package)</a><br>
-<a href="ranger.commands.html">commands</a><br>
-<a href="ranger.container.html"><strong>container</strong>&nbsp;(package)</a><br>
+<a href="ranger.colorschemes.html"><strong>colorschemes</strong>&nbsp;(package)</a><br>
+</td><td width="25%" valign=top><a href="ranger.container.html"><strong>container</strong>&nbsp;(package)</a><br>
+<a href="ranger.core.html"><strong>core</strong>&nbsp;(package)</a><br>
 <a href="ranger.defaults.html"><strong>defaults</strong>&nbsp;(package)</a><br>
 </td><td width="25%" valign=top><a href="ranger.ext.html"><strong>ext</strong>&nbsp;(package)</a><br>
-<a href="ranger.fm.html">fm</a><br>
 <a href="ranger.fsobject.html"><strong>fsobject</strong>&nbsp;(package)</a><br>
 <a href="ranger.gui.html"><strong>gui</strong>&nbsp;(package)</a><br>
 </td><td width="25%" valign=top><a href="ranger.help.html"><strong>help</strong>&nbsp;(package)</a><br>
-<a href="ranger.keyapi.html">keyapi</a><br>
-<a href="ranger.runner.html">runner</a><br>
 <a href="ranger.shared.html"><strong>shared</strong>&nbsp;(package)</a><br>
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#eeaa77">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><dl><dt><a name="-log"><strong>log</strong></a>(*objects, **keywords)</dt><dd><tt>Writes&nbsp;objects&nbsp;to&nbsp;a&nbsp;logfile&nbsp;(for&nbsp;the&nbsp;purpose&nbsp;of&nbsp;debugging&nbsp;only.)<br>
+Has&nbsp;the&nbsp;same&nbsp;arguments&nbsp;as&nbsp;print()&nbsp;in&nbsp;python3.</tt></dd></dl>
+ <dl><dt><a name="-relpath"><strong>relpath</strong></a>(*paths)</dt><dd><tt>returns&nbsp;the&nbsp;path&nbsp;relative&nbsp;to&nbsp;rangers&nbsp;library&nbsp;directory</tt></dd></dl>
+ <dl><dt><a name="-relpath_conf"><strong>relpath_conf</strong></a>(*paths)</dt><dd><tt>returns&nbsp;the&nbsp;path&nbsp;relative&nbsp;to&nbsp;rangers&nbsp;configuration&nbsp;directory</tt></dd></dl>
+</td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#55aa55">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>CONFDIR</strong> = '/home/hut/.ranger'<br>
+<td width="100%"><strong>DEFAULT_CONFDIR</strong> = '~/.ranger'<br>
+<strong>LOGFILE</strong> = '/tmp/errorlog'<br>
 <strong>RANGERDIR</strong> = '/home/hut/ranger/ranger'<br>
 <strong>USAGE</strong> = '%prog [options] [path/filename]'<br>
-<strong>__author__</strong> = 'hut'<br>
-<strong>__copyright__</strong> = 'none'<br>
-<strong>__credits__</strong> = 'hut'<br>
-<strong>__email__</strong> = 'hut@lavabit.com'<br>
-<strong>__license__</strong> = 'ISC'<br>
-<strong>__maintainer__</strong> = 'hut'<br>
-<strong>__version__</strong> = '1.0.3'<br>
-<strong>debug</strong> = False</td></tr></table><p>
+<strong>__author__</strong> = 'Roman Zimbelmann'<br>
+<strong>__copyright__</strong> = '<font color="#c040c0">\n</font>Copyright (C) 2009, 2010  Roman Zimbelmann &lt;romanz@lavabit.com&gt;<font color="#c040c0">\n</font>'<br>
+<strong>__credits__</strong> = 'Roman Zimbelmann'<br>
+<strong>__email__</strong> = 'romanz@lavabit.com'<br>
+<strong>__license__</strong> = 'GPL3'<br>
+<strong>__maintainer__</strong> = 'Roman Zimbelmann'<br>
+<strong>__version__</strong> = '1.0.4'<br>
+<strong>arg</strong> = {'cd_after_exit': False, 'debug': False, 'flags'...n': False, 'confdir': '~/.ranger', 'targets': []}</td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#7799ee">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
     
 <tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%">hut</td></tr></table><p>
+<td width="100%">Roman&nbsp;Zimbelmann</td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#7799ee">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
     
 <tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%">hut</td></tr></table>
+<td width="100%">Roman&nbsp;Zimbelmann</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.keyapi.html b/doc/pydoc/ranger.keyapi.html
deleted file mode 100644
index bd6dc21d..00000000
--- a/doc/pydoc/ranger.keyapi.html
+++ /dev/null
@@ -1,412 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module ranger.keyapi</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.keyapi</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/keyapi.pyc">/home/hut/ranger/ranger/keyapi.pyc</a></font></td></tr></table>
-    <p></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.gui.widgets.console_mode.html">ranger.gui.widgets.console_mode</a><br>
-</td><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.keyapi.html#Wrapper">Wrapper</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="Wrapper">class <strong>Wrapper</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
-    
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="Wrapper-__getattr__"><strong>__getattr__</strong></a>(self, attr)</dt></dl>
-
-<dl><dt><a name="Wrapper-__init__"><strong>__init__</strong></a>(self, firstattr)</dt></dl>
-
-<hr>
-Data descriptors defined here:<br>
-<dl><dt><strong>__dict__</strong></dt>
-<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-<dl><dt><strong>__weakref__</strong></dt>
-<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
-</dl>
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-baudrate"><strong>baudrate</strong></a>(...)</dt></dl>
- <dl><dt><a name="-beep"><strong>beep</strong></a>(...)</dt></dl>
- <dl><dt><a name="-can_change_color"><strong>can_change_color</strong></a>(...)</dt></dl>
- <dl><dt><a name="-cbreak"><strong>cbreak</strong></a>(...)</dt></dl>
- <dl><dt><a name="-color_content"><strong>color_content</strong></a>(...)</dt></dl>
- <dl><dt><a name="-color_pair"><strong>color_pair</strong></a>(...)</dt></dl>
- <dl><dt><a name="-curs_set"><strong>curs_set</strong></a>(...)</dt></dl>
- <dl><dt><a name="-def_prog_mode"><strong>def_prog_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-def_shell_mode"><strong>def_shell_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-delay_output"><strong>delay_output</strong></a>(...)</dt></dl>
- <dl><dt><a name="-doupdate"><strong>doupdate</strong></a>(...)</dt></dl>
- <dl><dt><a name="-echo"><strong>echo</strong></a>(...)</dt></dl>
- <dl><dt><a name="-endwin"><strong>endwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-erasechar"><strong>erasechar</strong></a>(...)</dt></dl>
- <dl><dt><a name="-filter"><strong>filter</strong></a>(...)</dt></dl>
- <dl><dt><a name="-flash"><strong>flash</strong></a>(...)</dt></dl>
- <dl><dt><a name="-flushinp"><strong>flushinp</strong></a>(...)</dt></dl>
- <dl><dt><a name="-getmouse"><strong>getmouse</strong></a>(...)</dt></dl>
- <dl><dt><a name="-getsyx"><strong>getsyx</strong></a>(...)</dt></dl>
- <dl><dt><a name="-getwin"><strong>getwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-halfdelay"><strong>halfdelay</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_colors"><strong>has_colors</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_ic"><strong>has_ic</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_il"><strong>has_il</strong></a>(...)</dt></dl>
- <dl><dt><a name="-has_key"><strong>has_key</strong></a>(...)</dt></dl>
- <dl><dt><a name="-init_color"><strong>init_color</strong></a>(...)</dt></dl>
- <dl><dt><a name="-init_pair"><strong>init_pair</strong></a>(...)</dt></dl>
- <dl><dt><a name="-intrflush"><strong>intrflush</strong></a>(...)</dt></dl>
- <dl><dt><a name="-is_term_resized"><strong>is_term_resized</strong></a>(...)</dt></dl>
- <dl><dt><a name="-isendwin"><strong>isendwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-keyname"><strong>keyname</strong></a>(...)</dt></dl>
- <dl><dt><a name="-killchar"><strong>killchar</strong></a>(...)</dt></dl>
- <dl><dt><a name="-longname"><strong>longname</strong></a>(...)</dt></dl>
- <dl><dt><a name="-make_abbreviations"><strong>make_abbreviations</strong></a>(command_list)</dt></dl>
- <dl><dt><a name="-meta"><strong>meta</strong></a>(...)</dt></dl>
- <dl><dt><a name="-mouseinterval"><strong>mouseinterval</strong></a>(...)</dt></dl>
- <dl><dt><a name="-mousemask"><strong>mousemask</strong></a>(...)</dt></dl>
- <dl><dt><a name="-napms"><strong>napms</strong></a>(...)</dt></dl>
- <dl><dt><a name="-narg"><strong>narg</strong></a>(number_, function_, *args_, **keywords_)</dt><dd><tt>This&nbsp;applies&nbsp;the&nbsp;replace_narg&nbsp;function&nbsp;to&nbsp;the&nbsp;arguments&nbsp;and&nbsp;keywords<br>
-and&nbsp;directly&nbsp;runs&nbsp;this&nbsp;function.<br>
-&nbsp;<br>
-Example:<br>
-def&nbsp;foo(xyz,&nbsp;narg):&nbsp;return&nbsp;hash((xyz,&nbsp;narg))<br>
-&nbsp;<br>
-<a href="#-narg">narg</a>(50,&nbsp;foo,&nbsp;123)&nbsp;==&nbsp;foo(123,&nbsp;narg=50)</tt></dd></dl>
- <dl><dt><a name="-newpad"><strong>newpad</strong></a>(...)</dt></dl>
- <dl><dt><a name="-newwin"><strong>newwin</strong></a>(...)</dt></dl>
- <dl><dt><a name="-nl"><strong>nl</strong></a>(...)</dt></dl>
- <dl><dt><a name="-nocbreak"><strong>nocbreak</strong></a>(...)</dt></dl>
- <dl><dt><a name="-noecho"><strong>noecho</strong></a>(...)</dt></dl>
- <dl><dt><a name="-nonl"><strong>nonl</strong></a>(...)</dt></dl>
- <dl><dt><a name="-noqiflush"><strong>noqiflush</strong></a>(...)</dt></dl>
- <dl><dt><a name="-noraw"><strong>noraw</strong></a>(...)</dt></dl>
- <dl><dt><a name="-pair_content"><strong>pair_content</strong></a>(...)</dt></dl>
- <dl><dt><a name="-pair_number"><strong>pair_number</strong></a>(...)</dt></dl>
- <dl><dt><a name="-putp"><strong>putp</strong></a>(...)</dt></dl>
- <dl><dt><a name="-qiflush"><strong>qiflush</strong></a>(...)</dt></dl>
- <dl><dt><a name="-raw"><strong>raw</strong></a>(...)</dt></dl>
- <dl><dt><a name="-replace_narg"><strong>replace_narg</strong></a>(number, function, args, keywords)</dt><dd><tt>This&nbsp;function&nbsp;returns&nbsp;(args,&nbsp;keywords)&nbsp;with&nbsp;one&nbsp;little&nbsp;change:<br>
-if&nbsp;&lt;function&gt;&nbsp;has&nbsp;a&nbsp;named&nbsp;argument&nbsp;called&nbsp;"narg",&nbsp;args&nbsp;and&nbsp;keywords<br>
-will&nbsp;be&nbsp;modified&nbsp;so&nbsp;that&nbsp;the&nbsp;value&nbsp;of&nbsp;"narg"&nbsp;will&nbsp;be&nbsp;&lt;number&gt;.<br>
-&nbsp;<br>
-def&nbsp;foo(xyz,&nbsp;narg):&nbsp;pass<br>
-&nbsp;<br>
-<a href="#-replace_narg">replace_narg</a>(666,&nbsp;foo,&nbsp;(),&nbsp;{'narg':&nbsp;10,&nbsp;'xyz':&nbsp;5})<br>
-=&gt;&nbsp;(),&nbsp;{'narg':&nbsp;666,&nbsp;'xyz':&nbsp;5}<br>
-&nbsp;<br>
-<a href="#-replace_narg">replace_narg</a>(666,&nbsp;foo,&nbsp;(1,&nbsp;2),&nbsp;{})<br>
-=&gt;&nbsp;(1,&nbsp;666),&nbsp;{}</tt></dd></dl>
- <dl><dt><a name="-reset_prog_mode"><strong>reset_prog_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-reset_shell_mode"><strong>reset_shell_mode</strong></a>(...)</dt></dl>
- <dl><dt><a name="-resetty"><strong>resetty</strong></a>(...)</dt></dl>
- <dl><dt><a name="-resize_term"><strong>resize_term</strong></a>(...)</dt></dl>
- <dl><dt><a name="-resizeterm"><strong>resizeterm</strong></a>(...)</dt></dl>
- <dl><dt><a name="-savetty"><strong>savetty</strong></a>(...)</dt></dl>
- <dl><dt><a name="-setsyx"><strong>setsyx</strong></a>(...)</dt></dl>
- <dl><dt><a name="-setupterm"><strong>setupterm</strong></a>(...)</dt></dl>
- <dl><dt><a name="-termattrs"><strong>termattrs</strong></a>(...)</dt></dl>
- <dl><dt><a name="-termname"><strong>termname</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tigetflag"><strong>tigetflag</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tigetnum"><strong>tigetnum</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tigetstr"><strong>tigetstr</strong></a>(...)</dt></dl>
- <dl><dt><a name="-tparm"><strong>tparm</strong></a>(...)</dt></dl>
- <dl><dt><a name="-typeahead"><strong>typeahead</strong></a>(...)</dt></dl>
- <dl><dt><a name="-ungetch"><strong>ungetch</strong></a>(...)</dt></dl>
- <dl><dt><a name="-ungetmouse"><strong>ungetmouse</strong></a>(...)</dt></dl>
- <dl><dt><a name="-use_default_colors"><strong>use_default_colors</strong></a>(...)</dt></dl>
- <dl><dt><a name="-use_env"><strong>use_env</strong></a>(...)</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>ACK</strong> = 6<br>
-<strong>ALLOWED_BOOKMARK_KEYS</strong> = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`'"<br>
-<strong>ALL_MOUSE_EVENTS</strong> = 134217727<br>
-<strong>A_ALTCHARSET</strong> = 4194304<br>
-<strong>A_ATTRIBUTES</strong> = 4294967040<br>
-<strong>A_BLINK</strong> = 524288<br>
-<strong>A_BOLD</strong> = 2097152<br>
-<strong>A_CHARTEXT</strong> = 255<br>
-<strong>A_COLOR</strong> = 65280<br>
-<strong>A_DIM</strong> = 1048576<br>
-<strong>A_HORIZONTAL</strong> = 33554432<br>
-<strong>A_INVIS</strong> = 8388608<br>
-<strong>A_LEFT</strong> = 67108864<br>
-<strong>A_LOW</strong> = 134217728<br>
-<strong>A_NORMAL</strong> = 0<br>
-<strong>A_PROTECT</strong> = 16777216<br>
-<strong>A_REVERSE</strong> = 262144<br>
-<strong>A_RIGHT</strong> = 268435456<br>
-<strong>A_STANDOUT</strong> = 65536<br>
-<strong>A_TOP</strong> = 536870912<br>
-<strong>A_UNDERLINE</strong> = 131072<br>
-<strong>A_VERTICAL</strong> = 1073741824<br>
-<strong>BEL</strong> = 7<br>
-<strong>BS</strong> = 8<br>
-<strong>BUTTON1_CLICKED</strong> = 4<br>
-<strong>BUTTON1_DOUBLE_CLICKED</strong> = 8<br>
-<strong>BUTTON1_PRESSED</strong> = 2<br>
-<strong>BUTTON1_RELEASED</strong> = 1<br>
-<strong>BUTTON1_TRIPLE_CLICKED</strong> = 16<br>
-<strong>BUTTON2_CLICKED</strong> = 256<br>
-<strong>BUTTON2_DOUBLE_CLICKED</strong> = 512<br>
-<strong>BUTTON2_PRESSED</strong> = 128<br>
-<strong>BUTTON2_RELEASED</strong> = 64<br>
-<strong>BUTTON2_TRIPLE_CLICKED</strong> = 1024<br>
-<strong>BUTTON3_CLICKED</strong> = 16384<br>
-<strong>BUTTON3_DOUBLE_CLICKED</strong> = 32768<br>
-<strong>BUTTON3_PRESSED</strong> = 8192<br>
-<strong>BUTTON3_RELEASED</strong> = 4096<br>
-<strong>BUTTON3_TRIPLE_CLICKED</strong> = 65536<br>
-<strong>BUTTON4_CLICKED</strong> = 1048576<br>
-<strong>BUTTON4_DOUBLE_CLICKED</strong> = 2097152<br>
-<strong>BUTTON4_PRESSED</strong> = 524288<br>
-<strong>BUTTON4_RELEASED</strong> = 262144<br>
-<strong>BUTTON4_TRIPLE_CLICKED</strong> = 4194304<br>
-<strong>BUTTON_ALT</strong> = 67108864<br>
-<strong>BUTTON_CTRL</strong> = 16777216<br>
-<strong>BUTTON_SHIFT</strong> = 33554432<br>
-<strong>CAN</strong> = 24<br>
-<strong>COLOR_BLACK</strong> = 0<br>
-<strong>COLOR_BLUE</strong> = 4<br>
-<strong>COLOR_CYAN</strong> = 6<br>
-<strong>COLOR_GREEN</strong> = 2<br>
-<strong>COLOR_MAGENTA</strong> = 5<br>
-<strong>COLOR_RED</strong> = 1<br>
-<strong>COLOR_WHITE</strong> = 7<br>
-<strong>COLOR_YELLOW</strong> = 3<br>
-<strong>CR</strong> = 13<br>
-<strong>DC1</strong> = 17<br>
-<strong>DC2</strong> = 18<br>
-<strong>DC3</strong> = 19<br>
-<strong>DC4</strong> = 20<br>
-<strong>DEL</strong> = 127<br>
-<strong>DLE</strong> = 16<br>
-<strong>EM</strong> = 25<br>
-<strong>ENQ</strong> = 5<br>
-<strong>EOT</strong> = 4<br>
-<strong>ERR</strong> = -1<br>
-<strong>ESC</strong> = 27<br>
-<strong>ETB</strong> = 23<br>
-<strong>ETX</strong> = 3<br>
-<strong>FF</strong> = 12<br>
-<strong>FS</strong> = 28<br>
-<strong>GS</strong> = 29<br>
-<strong>HT</strong> = 9<br>
-<strong>KEY_A1</strong> = 348<br>
-<strong>KEY_A3</strong> = 349<br>
-<strong>KEY_B2</strong> = 350<br>
-<strong>KEY_BACKSPACE</strong> = 263<br>
-<strong>KEY_BEG</strong> = 354<br>
-<strong>KEY_BREAK</strong> = 257<br>
-<strong>KEY_BTAB</strong> = 353<br>
-<strong>KEY_C1</strong> = 351<br>
-<strong>KEY_C3</strong> = 352<br>
-<strong>KEY_CANCEL</strong> = 355<br>
-<strong>KEY_CATAB</strong> = 342<br>
-<strong>KEY_CLEAR</strong> = 333<br>
-<strong>KEY_CLOSE</strong> = 356<br>
-<strong>KEY_COMMAND</strong> = 357<br>
-<strong>KEY_COPY</strong> = 358<br>
-<strong>KEY_CREATE</strong> = 359<br>
-<strong>KEY_CTAB</strong> = 341<br>
-<strong>KEY_DC</strong> = 330<br>
-<strong>KEY_DL</strong> = 328<br>
-<strong>KEY_DOWN</strong> = 258<br>
-<strong>KEY_EIC</strong> = 332<br>
-<strong>KEY_END</strong> = 360<br>
-<strong>KEY_ENTER</strong> = 343<br>
-<strong>KEY_EOL</strong> = 335<br>
-<strong>KEY_EOS</strong> = 334<br>
-<strong>KEY_EXIT</strong> = 361<br>
-<strong>KEY_F0</strong> = 264<br>
-<strong>KEY_F1</strong> = 265<br>
-<strong>KEY_F10</strong> = 274<br>
-<strong>KEY_F11</strong> = 275<br>
-<strong>KEY_F12</strong> = 276<br>
-<strong>KEY_F13</strong> = 277<br>
-<strong>KEY_F14</strong> = 278<br>
-<strong>KEY_F15</strong> = 279<br>
-<strong>KEY_F16</strong> = 280<br>
-<strong>KEY_F17</strong> = 281<br>
-<strong>KEY_F18</strong> = 282<br>
-<strong>KEY_F19</strong> = 283<br>
-<strong>KEY_F2</strong> = 266<br>
-<strong>KEY_F20</strong> = 284<br>
-<strong>KEY_F21</strong> = 285<br>
-<strong>KEY_F22</strong> = 286<br>
-<strong>KEY_F23</strong> = 287<br>
-<strong>KEY_F24</strong> = 288<br>
-<strong>KEY_F25</strong> = 289<br>
-<strong>KEY_F26</strong> = 290<br>
-<strong>KEY_F27</strong> = 291<br>
-<strong>KEY_F28</strong> = 292<br>
-<strong>KEY_F29</strong> = 293<br>
-<strong>KEY_F3</strong> = 267<br>
-<strong>KEY_F30</strong> = 294<br>
-<strong>KEY_F31</strong> = 295<br>
-<strong>KEY_F32</strong> = 296<br>
-<strong>KEY_F33</strong> = 297<br>
-<strong>KEY_F34</strong> = 298<br>
-<strong>KEY_F35</strong> = 299<br>
-<strong>KEY_F36</strong> = 300<br>
-<strong>KEY_F37</strong> = 301<br>
-<strong>KEY_F38</strong> = 302<br>
-<strong>KEY_F39</strong> = 303<br>
-<strong>KEY_F4</strong> = 268<br>
-<strong>KEY_F40</strong> = 304<br>
-<strong>KEY_F41</strong> = 305<br>
-<strong>KEY_F42</strong> = 306<br>
-<strong>KEY_F43</strong> = 307<br>
-<strong>KEY_F44</strong> = 308<br>
-<strong>KEY_F45</strong> = 309<br>
-<strong>KEY_F46</strong> = 310<br>
-<strong>KEY_F47</strong> = 311<br>
-<strong>KEY_F48</strong> = 312<br>
-<strong>KEY_F49</strong> = 313<br>
-<strong>KEY_F5</strong> = 269<br>
-<strong>KEY_F50</strong> = 314<br>
-<strong>KEY_F51</strong> = 315<br>
-<strong>KEY_F52</strong> = 316<br>
-<strong>KEY_F53</strong> = 317<br>
-<strong>KEY_F54</strong> = 318<br>
-<strong>KEY_F55</strong> = 319<br>
-<strong>KEY_F56</strong> = 320<br>
-<strong>KEY_F57</strong> = 321<br>
-<strong>KEY_F58</strong> = 322<br>
-<strong>KEY_F59</strong> = 323<br>
-<strong>KEY_F6</strong> = 270<br>
-<strong>KEY_F60</strong> = 324<br>
-<strong>KEY_F61</strong> = 325<br>
-<strong>KEY_F62</strong> = 326<br>
-<strong>KEY_F63</strong> = 327<br>
-<strong>KEY_F7</strong> = 271<br>
-<strong>KEY_F8</strong> = 272<br>
-<strong>KEY_F9</strong> = 273<br>
-<strong>KEY_FIND</strong> = 362<br>
-<strong>KEY_HELP</strong> = 363<br>
-<strong>KEY_HOME</strong> = 262<br>
-<strong>KEY_IC</strong> = 331<br>
-<strong>KEY_IL</strong> = 329<br>
-<strong>KEY_LEFT</strong> = 260<br>
-<strong>KEY_LL</strong> = 347<br>
-<strong>KEY_MARK</strong> = 364<br>
-<strong>KEY_MAX</strong> = 511<br>
-<strong>KEY_MESSAGE</strong> = 365<br>
-<strong>KEY_MIN</strong> = 257<br>
-<strong>KEY_MOUSE</strong> = 409<br>
-<strong>KEY_MOVE</strong> = 366<br>
-<strong>KEY_NEXT</strong> = 367<br>
-<strong>KEY_NPAGE</strong> = 338<br>
-<strong>KEY_OPEN</strong> = 368<br>
-<strong>KEY_OPTIONS</strong> = 369<br>
-<strong>KEY_PPAGE</strong> = 339<br>
-<strong>KEY_PREVIOUS</strong> = 370<br>
-<strong>KEY_PRINT</strong> = 346<br>
-<strong>KEY_REDO</strong> = 371<br>
-<strong>KEY_REFERENCE</strong> = 372<br>
-<strong>KEY_REFRESH</strong> = 373<br>
-<strong>KEY_REPLACE</strong> = 374<br>
-<strong>KEY_RESET</strong> = 345<br>
-<strong>KEY_RESIZE</strong> = 410<br>
-<strong>KEY_RESTART</strong> = 375<br>
-<strong>KEY_RESUME</strong> = 376<br>
-<strong>KEY_RIGHT</strong> = 261<br>
-<strong>KEY_SAVE</strong> = 377<br>
-<strong>KEY_SBEG</strong> = 378<br>
-<strong>KEY_SCANCEL</strong> = 379<br>
-<strong>KEY_SCOMMAND</strong> = 380<br>
-<strong>KEY_SCOPY</strong> = 381<br>
-<strong>KEY_SCREATE</strong> = 382<br>
-<strong>KEY_SDC</strong> = 383<br>
-<strong>KEY_SDL</strong> = 384<br>
-<strong>KEY_SELECT</strong> = 385<br>
-<strong>KEY_SEND</strong> = 386<br>
-<strong>KEY_SEOL</strong> = 387<br>
-<strong>KEY_SEXIT</strong> = 388<br>
-<strong>KEY_SF</strong> = 336<br>
-<strong>KEY_SFIND</strong> = 389<br>
-<strong>KEY_SHELP</strong> = 390<br>
-<strong>KEY_SHOME</strong> = 391<br>
-<strong>KEY_SIC</strong> = 392<br>
-<strong>KEY_SLEFT</strong> = 393<br>
-<strong>KEY_SMESSAGE</strong> = 394<br>
-<strong>KEY_SMOVE</strong> = 395<br>
-<strong>KEY_SNEXT</strong> = 396<br>
-<strong>KEY_SOPTIONS</strong> = 397<br>
-<strong>KEY_SPREVIOUS</strong> = 398<br>
-<strong>KEY_SPRINT</strong> = 399<br>
-<strong>KEY_SR</strong> = 337<br>
-<strong>KEY_SREDO</strong> = 400<br>
-<strong>KEY_SREPLACE</strong> = 401<br>
-<strong>KEY_SRESET</strong> = 344<br>
-<strong>KEY_SRIGHT</strong> = 402<br>
-<strong>KEY_SRSUME</strong> = 403<br>
-<strong>KEY_SSAVE</strong> = 404<br>
-<strong>KEY_SSUSPEND</strong> = 405<br>
-<strong>KEY_STAB</strong> = 340<br>
-<strong>KEY_SUNDO</strong> = 406<br>
-<strong>KEY_SUSPEND</strong> = 407<br>
-<strong>KEY_UNDO</strong> = 408<br>
-<strong>KEY_UP</strong> = 259<br>
-<strong>LF</strong> = 10<br>
-<strong>NAK</strong> = 21<br>
-<strong>NARG_KEYWORD</strong> = 'narg'<br>
-<strong>NL</strong> = 10<br>
-<strong>NUL</strong> = 0<br>
-<strong>OK</strong> = 0<br>
-<strong>RANGERDIR</strong> = '/home/hut/ranger/ranger'<br>
-<strong>REPORT_MOUSE_POSITION</strong> = 134217728<br>
-<strong>RS</strong> = 30<br>
-<strong>SI</strong> = 15<br>
-<strong>SO</strong> = 14<br>
-<strong>SOH</strong> = 1<br>
-<strong>SP</strong> = 32<br>
-<strong>STX</strong> = 2<br>
-<strong>SUB</strong> = 26<br>
-<strong>SYN</strong> = 22<br>
-<strong>TAB</strong> = 9<br>
-<strong>US</strong> = 31<br>
-<strong>VT</strong> = 11<br>
-<strong>controlnames</strong> = ['NUL', 'SOH', 'STX', 'ETX', 'EOT', 'ENQ', 'ACK', 'BEL', 'BS', 'HT', 'LF', 'VT', 'FF', 'CR', 'SO', 'SI', 'DLE', 'DC1', 'DC2', 'DC3', ...]<br>
-<strong>fm</strong> = &lt;ranger.keyapi.Wrapper object at 0x1057c10&gt;<br>
-<strong>version</strong> = '2.2'<br>
-<strong>wdg</strong> = &lt;ranger.keyapi.Wrapper object at 0x1057dd0&gt;</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.shared.mimetype.html b/doc/pydoc/ranger.shared.mimetype.html
index 9fda6d62..5ed1c0ba 100644
--- a/doc/pydoc/ranger.shared.mimetype.html
+++ b/doc/pydoc/ranger.shared.mimetype.html
@@ -9,21 +9,30 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.shared.html"><font color="#ffffff">shared</font></a>.mimetype</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/shared/mimetype.py">/home/hut/ranger/ranger/shared/mimetype.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#aa55cc">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="mimetypes.html">mimetypes</a><br>
+</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
diff --git a/doc/pydoc/ranger.shared.settings.html b/doc/pydoc/ranger.shared.settings.html
index c47e0721..29d43fc6 100644
--- a/doc/pydoc/ranger.shared.settings.html
+++ b/doc/pydoc/ranger.shared.settings.html
@@ -9,21 +9,32 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.shared.html"><font color="#ffffff">shared</font></a>.settings</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/shared/settings.py">/home/hut/ranger/ranger/shared/settings.py</a></font></td></tr></table>
-    <p><tt>#&nbsp;Copyright&nbsp;(c)&nbsp;2009,&nbsp;2010&nbsp;hut&nbsp;&lt;hut@lavabit.com&gt;<br>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
 #<br>
-#&nbsp;Permission&nbsp;to&nbsp;use,&nbsp;copy,&nbsp;modify,&nbsp;and/or&nbsp;distribute&nbsp;this&nbsp;software&nbsp;for&nbsp;any<br>
-#&nbsp;purpose&nbsp;with&nbsp;or&nbsp;without&nbsp;fee&nbsp;is&nbsp;hereby&nbsp;granted,&nbsp;provided&nbsp;that&nbsp;the&nbsp;above<br>
-#&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;this&nbsp;permission&nbsp;notice&nbsp;appear&nbsp;in&nbsp;all&nbsp;copies.<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
 #<br>
-#&nbsp;THE&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;"AS&nbsp;IS"&nbsp;AND&nbsp;THE&nbsp;AUTHOR&nbsp;DISCLAIMS&nbsp;ALL&nbsp;WARRANTIES<br>
-#&nbsp;WITH&nbsp;REGARD&nbsp;TO&nbsp;THIS&nbsp;SOFTWARE&nbsp;INCLUDING&nbsp;ALL&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-#&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;AUTHOR&nbsp;BE&nbsp;LIABLE&nbsp;FOR<br>
-#&nbsp;ANY&nbsp;SPECIAL,&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;OR&nbsp;ANY&nbsp;DAMAGES<br>
-#&nbsp;WHATSOEVER&nbsp;RESULTING&nbsp;FROM&nbsp;LOSS&nbsp;OF&nbsp;USE,&nbsp;DATA&nbsp;OR&nbsp;PROFITS,&nbsp;WHETHER&nbsp;IN&nbsp;AN<br>
-#&nbsp;ACTION&nbsp;OF&nbsp;CONTRACT,&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHER&nbsp;TORTIOUS&nbsp;ACTION,&nbsp;ARISING&nbsp;OUT&nbsp;OF<br>
-#&nbsp;OR&nbsp;IN&nbsp;CONNECTION&nbsp;WITH&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;PERFORMANCE&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE.</tt></p>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#aa55cc">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br>
+</td><td width="25%" valign=top><a href="ranger.html">ranger</a><br>
+</td><td width="25%" valign=top><a href="types.html">types</a><br>
+</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
@@ -43,7 +54,9 @@
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#000000" face="helvetica, arial"><a name="SettingsAware">class <strong>SettingsAware</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
     
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
+<td colspan=2><tt>#&nbsp;--&nbsp;globalize&nbsp;the&nbsp;settings&nbsp;--<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
 <td width="100%">Data descriptors defined here:<br>
 <dl><dt><strong>__dict__</strong></dt>
 <dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
@@ -53,14 +66,22 @@
 </dl>
 <hr>
 Data and other attributes defined here:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0xe2f090&gt;</dl>
+<dl><dt><strong>settings</strong> = {}</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#eeaa77">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
+<td width="100%"><dl><dt><a name="-check_option_types"><strong>check_option_types</strong></a>(opt)</dt></dl>
+</td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#55aa55">
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>ALLOWED_SETTINGS</strong> = ['show_hidden', 'scroll_offset', 'show_cursor', 'directories_first', 'sort', 'reverse', 'preview_files', 'max_history_size', 'colorscheme', 'collapse_preview', 'update_title', 'hidden_filter', 'flushinput', 'autosave_bookmarks']</td></tr></table>
+<td width="100%"><strong>ALLOWED_SETTINGS</strong> = {'autosave_bookmarks': &lt;type 'bool'&gt;, 'collapse_preview': &lt;type 'bool'&gt;, 'colorscheme': &lt;type 'str'&gt;, 'directories_first': &lt;type 'bool'&gt;, 'draw_borders': &lt;type 'bool'&gt;, 'flushinput': &lt;type 'bool'&gt;, 'hidden_filter': &lt;function &lt;lambda&gt;&gt;, 'max_filesize_for_preview': (&lt;type 'int'&gt;, &lt;type 'NoneType'&gt;), 'max_history_size': (&lt;type 'int'&gt;, &lt;type 'NoneType'&gt;), 'preview_directories': &lt;type 'bool'&gt;, ...}</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/sys.html b/doc/pydoc/sys.html
deleted file mode 100644
index 65a2a515..00000000
--- a/doc/pydoc/sys.html
+++ /dev/null
@@ -1,245 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: built-in module sys</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>sys</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br>(built-in)<br><a href="http://docs.python.org/library/sys">Module Docs</a></font></td></tr></table>
-    <p><tt>This&nbsp;module&nbsp;provides&nbsp;access&nbsp;to&nbsp;some&nbsp;objects&nbsp;used&nbsp;or&nbsp;maintained&nbsp;by&nbsp;the<br>
-interpreter&nbsp;and&nbsp;to&nbsp;functions&nbsp;that&nbsp;interact&nbsp;strongly&nbsp;with&nbsp;the&nbsp;interpreter.<br>
-&nbsp;<br>
-Dynamic&nbsp;objects:<br>
-&nbsp;<br>
-argv&nbsp;--&nbsp;command&nbsp;line&nbsp;arguments;&nbsp;argv[0]&nbsp;is&nbsp;the&nbsp;script&nbsp;pathname&nbsp;if&nbsp;known<br>
-path&nbsp;--&nbsp;module&nbsp;search&nbsp;path;&nbsp;path[0]&nbsp;is&nbsp;the&nbsp;script&nbsp;directory,&nbsp;else&nbsp;''<br>
-modules&nbsp;--&nbsp;dictionary&nbsp;of&nbsp;loaded&nbsp;modules<br>
-&nbsp;<br>
-displayhook&nbsp;--&nbsp;called&nbsp;to&nbsp;show&nbsp;results&nbsp;in&nbsp;an&nbsp;interactive&nbsp;session<br>
-excepthook&nbsp;--&nbsp;called&nbsp;to&nbsp;handle&nbsp;any&nbsp;uncaught&nbsp;exception&nbsp;other&nbsp;than&nbsp;SystemExit<br>
-&nbsp;&nbsp;To&nbsp;customize&nbsp;printing&nbsp;in&nbsp;an&nbsp;interactive&nbsp;session&nbsp;or&nbsp;to&nbsp;install&nbsp;a&nbsp;custom<br>
-&nbsp;&nbsp;top-level&nbsp;exception&nbsp;handler,&nbsp;assign&nbsp;other&nbsp;functions&nbsp;to&nbsp;replace&nbsp;these.<br>
-&nbsp;<br>
-exitfunc&nbsp;--&nbsp;if&nbsp;sys.exitfunc&nbsp;exists,&nbsp;this&nbsp;routine&nbsp;is&nbsp;called&nbsp;when&nbsp;Python&nbsp;exits<br>
-&nbsp;&nbsp;Assigning&nbsp;to&nbsp;sys.exitfunc&nbsp;is&nbsp;deprecated;&nbsp;use&nbsp;the&nbsp;atexit&nbsp;module&nbsp;instead.<br>
-&nbsp;<br>
-stdin&nbsp;--&nbsp;standard&nbsp;input&nbsp;file&nbsp;object;&nbsp;used&nbsp;by&nbsp;raw_input()&nbsp;and&nbsp;input()<br>
-stdout&nbsp;--&nbsp;standard&nbsp;output&nbsp;file&nbsp;object;&nbsp;used&nbsp;by&nbsp;the&nbsp;print&nbsp;statement<br>
-stderr&nbsp;--&nbsp;standard&nbsp;error&nbsp;object;&nbsp;used&nbsp;for&nbsp;error&nbsp;messages<br>
-&nbsp;&nbsp;By&nbsp;assigning&nbsp;other&nbsp;file&nbsp;objects&nbsp;(or&nbsp;objects&nbsp;that&nbsp;behave&nbsp;like&nbsp;files)<br>
-&nbsp;&nbsp;to&nbsp;these,&nbsp;it&nbsp;is&nbsp;possible&nbsp;to&nbsp;redirect&nbsp;all&nbsp;of&nbsp;the&nbsp;interpreter's&nbsp;I/O.<br>
-&nbsp;<br>
-last_type&nbsp;--&nbsp;type&nbsp;of&nbsp;last&nbsp;uncaught&nbsp;exception<br>
-last_value&nbsp;--&nbsp;value&nbsp;of&nbsp;last&nbsp;uncaught&nbsp;exception<br>
-last_traceback&nbsp;--&nbsp;traceback&nbsp;of&nbsp;last&nbsp;uncaught&nbsp;exception<br>
-&nbsp;&nbsp;These&nbsp;three&nbsp;are&nbsp;only&nbsp;available&nbsp;in&nbsp;an&nbsp;interactive&nbsp;session&nbsp;after&nbsp;a<br>
-&nbsp;&nbsp;traceback&nbsp;has&nbsp;been&nbsp;printed.<br>
-&nbsp;<br>
-exc_type&nbsp;--&nbsp;type&nbsp;of&nbsp;exception&nbsp;currently&nbsp;being&nbsp;handled<br>
-exc_value&nbsp;--&nbsp;value&nbsp;of&nbsp;exception&nbsp;currently&nbsp;being&nbsp;handled<br>
-exc_traceback&nbsp;--&nbsp;traceback&nbsp;of&nbsp;exception&nbsp;currently&nbsp;being&nbsp;handled<br>
-&nbsp;&nbsp;The&nbsp;function&nbsp;<a href="#-exc_info">exc_info</a>()&nbsp;should&nbsp;be&nbsp;used&nbsp;instead&nbsp;of&nbsp;these&nbsp;three,<br>
-&nbsp;&nbsp;because&nbsp;it&nbsp;is&nbsp;thread-safe.<br>
-&nbsp;<br>
-Static&nbsp;objects:<br>
-&nbsp;<br>
-maxint&nbsp;--&nbsp;the&nbsp;largest&nbsp;supported&nbsp;integer&nbsp;(the&nbsp;smallest&nbsp;is&nbsp;-maxint-1)<br>
-maxsize&nbsp;--&nbsp;the&nbsp;largest&nbsp;supported&nbsp;length&nbsp;of&nbsp;containers.<br>
-maxunicode&nbsp;--&nbsp;the&nbsp;largest&nbsp;supported&nbsp;character<br>
-builtin_module_names&nbsp;--&nbsp;tuple&nbsp;of&nbsp;module&nbsp;names&nbsp;built&nbsp;into&nbsp;this&nbsp;interpreter<br>
-version&nbsp;--&nbsp;the&nbsp;version&nbsp;of&nbsp;this&nbsp;interpreter&nbsp;as&nbsp;a&nbsp;string<br>
-version_info&nbsp;--&nbsp;version&nbsp;information&nbsp;as&nbsp;a&nbsp;tuple<br>
-hexversion&nbsp;--&nbsp;version&nbsp;information&nbsp;encoded&nbsp;as&nbsp;a&nbsp;single&nbsp;integer<br>
-copyright&nbsp;--&nbsp;copyright&nbsp;notice&nbsp;pertaining&nbsp;to&nbsp;this&nbsp;interpreter<br>
-platform&nbsp;--&nbsp;platform&nbsp;identifier<br>
-executable&nbsp;--&nbsp;pathname&nbsp;of&nbsp;this&nbsp;Python&nbsp;interpreter<br>
-prefix&nbsp;--&nbsp;prefix&nbsp;used&nbsp;to&nbsp;find&nbsp;the&nbsp;Python&nbsp;library<br>
-exec_prefix&nbsp;--&nbsp;prefix&nbsp;used&nbsp;to&nbsp;find&nbsp;the&nbsp;machine-specific&nbsp;Python&nbsp;library<br>
-__stdin__&nbsp;--&nbsp;the&nbsp;original&nbsp;stdin;&nbsp;don't&nbsp;touch!<br>
-__stdout__&nbsp;--&nbsp;the&nbsp;original&nbsp;stdout;&nbsp;don't&nbsp;touch!<br>
-__stderr__&nbsp;--&nbsp;the&nbsp;original&nbsp;stderr;&nbsp;don't&nbsp;touch!<br>
-__displayhook__&nbsp;--&nbsp;the&nbsp;original&nbsp;displayhook;&nbsp;don't&nbsp;touch!<br>
-__excepthook__&nbsp;--&nbsp;the&nbsp;original&nbsp;excepthook;&nbsp;don't&nbsp;touch!<br>
-&nbsp;<br>
-Functions:<br>
-&nbsp;<br>
-<a href="#-displayhook">displayhook</a>()&nbsp;--&nbsp;print&nbsp;an&nbsp;object&nbsp;to&nbsp;the&nbsp;screen,&nbsp;and&nbsp;save&nbsp;it&nbsp;in&nbsp;__builtin__._<br>
-<a href="#-excepthook">excepthook</a>()&nbsp;--&nbsp;print&nbsp;an&nbsp;exception&nbsp;and&nbsp;its&nbsp;traceback&nbsp;to&nbsp;sys.stderr<br>
-<a href="#-exc_info">exc_info</a>()&nbsp;--&nbsp;return&nbsp;thread-safe&nbsp;information&nbsp;about&nbsp;the&nbsp;current&nbsp;exception<br>
-<a href="#-exc_clear">exc_clear</a>()&nbsp;--&nbsp;clear&nbsp;the&nbsp;exception&nbsp;state&nbsp;for&nbsp;the&nbsp;current&nbsp;thread<br>
-<a href="#-exit">exit</a>()&nbsp;--&nbsp;exit&nbsp;the&nbsp;interpreter&nbsp;by&nbsp;raising&nbsp;SystemExit<br>
-<a href="#-getdlopenflags">getdlopenflags</a>()&nbsp;--&nbsp;returns&nbsp;flags&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;dlopen()&nbsp;calls<br>
-<a href="#-getprofile">getprofile</a>()&nbsp;--&nbsp;get&nbsp;the&nbsp;global&nbsp;profiling&nbsp;function<br>
-<a href="#-getrefcount">getrefcount</a>()&nbsp;--&nbsp;return&nbsp;the&nbsp;reference&nbsp;count&nbsp;for&nbsp;an&nbsp;object&nbsp;(plus&nbsp;one&nbsp;:-)<br>
-<a href="#-getrecursionlimit">getrecursionlimit</a>()&nbsp;--&nbsp;return&nbsp;the&nbsp;max&nbsp;recursion&nbsp;depth&nbsp;for&nbsp;the&nbsp;interpreter<br>
-<a href="#-getsizeof">getsizeof</a>()&nbsp;--&nbsp;return&nbsp;the&nbsp;size&nbsp;of&nbsp;an&nbsp;object&nbsp;in&nbsp;bytes<br>
-<a href="#-gettrace">gettrace</a>()&nbsp;--&nbsp;get&nbsp;the&nbsp;global&nbsp;debug&nbsp;tracing&nbsp;function<br>
-<a href="#-setcheckinterval">setcheckinterval</a>()&nbsp;--&nbsp;control&nbsp;how&nbsp;often&nbsp;the&nbsp;interpreter&nbsp;checks&nbsp;for&nbsp;events<br>
-<a href="#-setdlopenflags">setdlopenflags</a>()&nbsp;--&nbsp;set&nbsp;the&nbsp;flags&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;dlopen()&nbsp;calls<br>
-<a href="#-setprofile">setprofile</a>()&nbsp;--&nbsp;set&nbsp;the&nbsp;global&nbsp;profiling&nbsp;function<br>
-<a href="#-setrecursionlimit">setrecursionlimit</a>()&nbsp;--&nbsp;set&nbsp;the&nbsp;max&nbsp;recursion&nbsp;depth&nbsp;for&nbsp;the&nbsp;interpreter<br>
-<a href="#-settrace">settrace</a>()&nbsp;--&nbsp;set&nbsp;the&nbsp;global&nbsp;debug&nbsp;tracing&nbsp;function</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a name="-__displayhook__"><strong>__displayhook__</strong></a> = displayhook(...)</dt><dd><tt><a href="#-displayhook">displayhook</a>(object)&nbsp;-&gt;&nbsp;None<br>
-&nbsp;<br>
-Print&nbsp;an&nbsp;object&nbsp;to&nbsp;sys.stdout&nbsp;and&nbsp;also&nbsp;save&nbsp;it&nbsp;in&nbsp;__builtin__.</tt></dd></dl>
- <dl><dt><a name="-__excepthook__"><strong>__excepthook__</strong></a> = excepthook(...)</dt><dd><tt><a href="#-excepthook">excepthook</a>(exctype,&nbsp;value,&nbsp;traceback)&nbsp;-&gt;&nbsp;None<br>
-&nbsp;<br>
-Handle&nbsp;an&nbsp;exception&nbsp;by&nbsp;displaying&nbsp;it&nbsp;with&nbsp;a&nbsp;traceback&nbsp;on&nbsp;sys.stderr.</tt></dd></dl>
- <dl><dt><a name="-call_tracing"><strong>call_tracing</strong></a>(...)</dt><dd><tt><a href="#-call_tracing">call_tracing</a>(func,&nbsp;args)&nbsp;-&gt;&nbsp;object<br>
-&nbsp;<br>
-Call&nbsp;func(*args),&nbsp;while&nbsp;tracing&nbsp;is&nbsp;enabled.&nbsp;&nbsp;The&nbsp;tracing&nbsp;state&nbsp;is<br>
-saved,&nbsp;and&nbsp;restored&nbsp;afterwards.&nbsp;&nbsp;This&nbsp;is&nbsp;intended&nbsp;to&nbsp;be&nbsp;called&nbsp;from<br>
-a&nbsp;debugger&nbsp;from&nbsp;a&nbsp;checkpoint,&nbsp;to&nbsp;recursively&nbsp;debug&nbsp;some&nbsp;other&nbsp;code.</tt></dd></dl>
- <dl><dt><a name="-callstats"><strong>callstats</strong></a>(...)</dt><dd><tt><a href="#-callstats">callstats</a>()&nbsp;-&gt;&nbsp;tuple&nbsp;of&nbsp;integers<br>
-&nbsp;<br>
-Return&nbsp;a&nbsp;tuple&nbsp;of&nbsp;function&nbsp;call&nbsp;statistics,&nbsp;if&nbsp;CALL_PROFILE&nbsp;was&nbsp;defined<br>
-when&nbsp;Python&nbsp;was&nbsp;built.&nbsp;&nbsp;Otherwise,&nbsp;return&nbsp;None.<br>
-&nbsp;<br>
-When&nbsp;enabled,&nbsp;this&nbsp;function&nbsp;returns&nbsp;detailed,&nbsp;implementation-specific<br>
-details&nbsp;about&nbsp;the&nbsp;number&nbsp;of&nbsp;function&nbsp;calls&nbsp;executed.&nbsp;The&nbsp;return&nbsp;value&nbsp;is<br>
-a&nbsp;11-tuple&nbsp;where&nbsp;the&nbsp;entries&nbsp;in&nbsp;the&nbsp;tuple&nbsp;are&nbsp;counts&nbsp;of:<br>
-0.&nbsp;all&nbsp;function&nbsp;calls<br>
-1.&nbsp;calls&nbsp;to&nbsp;PyFunction_Type&nbsp;objects<br>
-2.&nbsp;PyFunction&nbsp;calls&nbsp;that&nbsp;do&nbsp;not&nbsp;create&nbsp;an&nbsp;argument&nbsp;tuple<br>
-3.&nbsp;PyFunction&nbsp;calls&nbsp;that&nbsp;do&nbsp;not&nbsp;create&nbsp;an&nbsp;argument&nbsp;tuple<br>
-&nbsp;&nbsp;&nbsp;and&nbsp;bypass&nbsp;PyEval_EvalCodeEx()<br>
-4.&nbsp;PyMethod&nbsp;calls<br>
-5.&nbsp;PyMethod&nbsp;calls&nbsp;on&nbsp;bound&nbsp;methods<br>
-6.&nbsp;PyType&nbsp;calls<br>
-7.&nbsp;PyCFunction&nbsp;calls<br>
-8.&nbsp;generator&nbsp;calls<br>
-9.&nbsp;All&nbsp;other&nbsp;calls<br>
-10.&nbsp;Number&nbsp;of&nbsp;stack&nbsp;pops&nbsp;performed&nbsp;by&nbsp;call_function()</tt></dd></dl>
- <dl><dt><a name="-displayhook"><strong>displayhook</strong></a>(...)</dt><dd><tt><a href="#-displayhook">displayhook</a>(object)&nbsp;-&gt;&nbsp;None<br>
-&nbsp;<br>
-Print&nbsp;an&nbsp;object&nbsp;to&nbsp;sys.stdout&nbsp;and&nbsp;also&nbsp;save&nbsp;it&nbsp;in&nbsp;__builtin__.</tt></dd></dl>
- <dl><dt><a name="-exc_clear"><strong>exc_clear</strong></a>(...)</dt><dd><tt><a href="#-exc_clear">exc_clear</a>()&nbsp;-&gt;&nbsp;None<br>
-&nbsp;<br>
-Clear&nbsp;global&nbsp;information&nbsp;on&nbsp;the&nbsp;current&nbsp;exception.&nbsp;&nbsp;Subsequent&nbsp;calls&nbsp;to<br>
-<a href="#-exc_info">exc_info</a>()&nbsp;will&nbsp;return&nbsp;(None,None,None)&nbsp;until&nbsp;another&nbsp;exception&nbsp;is&nbsp;raised<br>
-in&nbsp;the&nbsp;current&nbsp;thread&nbsp;or&nbsp;the&nbsp;execution&nbsp;stack&nbsp;returns&nbsp;to&nbsp;a&nbsp;frame&nbsp;where<br>
-another&nbsp;exception&nbsp;is&nbsp;being&nbsp;handled.</tt></dd></dl>
- <dl><dt><a name="-exc_info"><strong>exc_info</strong></a>(...)</dt><dd><tt><a href="#-exc_info">exc_info</a>()&nbsp;-&gt;&nbsp;(type,&nbsp;value,&nbsp;traceback)<br>
-&nbsp;<br>
-Return&nbsp;information&nbsp;about&nbsp;the&nbsp;most&nbsp;recent&nbsp;exception&nbsp;caught&nbsp;by&nbsp;an&nbsp;except<br>
-clause&nbsp;in&nbsp;the&nbsp;current&nbsp;stack&nbsp;frame&nbsp;or&nbsp;in&nbsp;an&nbsp;older&nbsp;stack&nbsp;frame.</tt></dd></dl>
- <dl><dt><a name="-excepthook"><strong>excepthook</strong></a>(...)</dt><dd><tt><a href="#-excepthook">excepthook</a>(exctype,&nbsp;value,&nbsp;traceback)&nbsp;-&gt;&nbsp;None<br>
-&nbsp;<br>
-Handle&nbsp;an&nbsp;exception&nbsp;by&nbsp;displaying&nbsp;it&nbsp;with&nbsp;a&nbsp;traceback&nbsp;on&nbsp;sys.stderr.</tt></dd></dl>
- <dl><dt><a name="-exit"><strong>exit</strong></a>(...)</dt><dd><tt><a href="#-exit">exit</a>([status])<br>
-&nbsp;<br>
-Exit&nbsp;the&nbsp;interpreter&nbsp;by&nbsp;raising&nbsp;SystemExit(status).<br>
-If&nbsp;the&nbsp;status&nbsp;is&nbsp;omitted&nbsp;or&nbsp;None,&nbsp;it&nbsp;defaults&nbsp;to&nbsp;zero&nbsp;(i.e.,&nbsp;success).<br>
-If&nbsp;the&nbsp;status&nbsp;is&nbsp;numeric,&nbsp;it&nbsp;will&nbsp;be&nbsp;used&nbsp;as&nbsp;the&nbsp;system&nbsp;exit&nbsp;status.<br>
-If&nbsp;it&nbsp;is&nbsp;another&nbsp;kind&nbsp;of&nbsp;object,&nbsp;it&nbsp;will&nbsp;be&nbsp;printed&nbsp;and&nbsp;the&nbsp;system<br>
-exit&nbsp;status&nbsp;will&nbsp;be&nbsp;one&nbsp;(i.e.,&nbsp;failure).</tt></dd></dl>
- <dl><dt><a name="-getcheckinterval"><strong>getcheckinterval</strong></a>(...)</dt><dd><tt><a href="#-getcheckinterval">getcheckinterval</a>()&nbsp;-&gt;&nbsp;current&nbsp;check&nbsp;interval;&nbsp;see&nbsp;<a href="#-setcheckinterval">setcheckinterval</a>().</tt></dd></dl>
- <dl><dt><a name="-getdefaultencoding"><strong>getdefaultencoding</strong></a>(...)</dt><dd><tt><a href="#-getdefaultencoding">getdefaultencoding</a>()&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;default&nbsp;string&nbsp;encoding&nbsp;used&nbsp;by&nbsp;the&nbsp;Unicode&nbsp;<br>
-implementation.</tt></dd></dl>
- <dl><dt><a name="-getdlopenflags"><strong>getdlopenflags</strong></a>(...)</dt><dd><tt><a href="#-getdlopenflags">getdlopenflags</a>()&nbsp;-&gt;&nbsp;int<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;value&nbsp;of&nbsp;the&nbsp;flags&nbsp;that&nbsp;are&nbsp;used&nbsp;for&nbsp;dlopen()<br>
-calls.&nbsp;The&nbsp;flag&nbsp;constants&nbsp;are&nbsp;defined&nbsp;in&nbsp;the&nbsp;dl&nbsp;module.</tt></dd></dl>
- <dl><dt><a name="-getfilesystemencoding"><strong>getfilesystemencoding</strong></a>(...)</dt><dd><tt><a href="#-getfilesystemencoding">getfilesystemencoding</a>()&nbsp;-&gt;&nbsp;string<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;encoding&nbsp;used&nbsp;to&nbsp;convert&nbsp;Unicode&nbsp;filenames&nbsp;in<br>
-operating&nbsp;system&nbsp;filenames.</tt></dd></dl>
- <dl><dt><a name="-getprofile"><strong>getprofile</strong></a>(...)</dt><dd><tt><a href="#-getprofile">getprofile</a>()<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;profiling&nbsp;function&nbsp;set&nbsp;with&nbsp;sys.setprofile.<br>
-See&nbsp;the&nbsp;profiler&nbsp;chapter&nbsp;in&nbsp;the&nbsp;library&nbsp;manual.</tt></dd></dl>
- <dl><dt><a name="-getrecursionlimit"><strong>getrecursionlimit</strong></a>(...)</dt><dd><tt><a href="#-getrecursionlimit">getrecursionlimit</a>()<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;current&nbsp;value&nbsp;of&nbsp;the&nbsp;recursion&nbsp;limit,&nbsp;the&nbsp;maximum&nbsp;depth<br>
-of&nbsp;the&nbsp;Python&nbsp;interpreter&nbsp;stack.&nbsp;&nbsp;This&nbsp;limit&nbsp;prevents&nbsp;infinite<br>
-recursion&nbsp;from&nbsp;causing&nbsp;an&nbsp;overflow&nbsp;of&nbsp;the&nbsp;C&nbsp;stack&nbsp;and&nbsp;crashing&nbsp;Python.</tt></dd></dl>
- <dl><dt><a name="-getrefcount"><strong>getrefcount</strong></a>(...)</dt><dd><tt><a href="#-getrefcount">getrefcount</a>(object)&nbsp;-&gt;&nbsp;integer<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;reference&nbsp;count&nbsp;of&nbsp;object.&nbsp;&nbsp;The&nbsp;count&nbsp;returned&nbsp;is&nbsp;generally<br>
-one&nbsp;higher&nbsp;than&nbsp;you&nbsp;might&nbsp;expect,&nbsp;because&nbsp;it&nbsp;includes&nbsp;the&nbsp;(temporary)<br>
-reference&nbsp;as&nbsp;an&nbsp;argument&nbsp;to&nbsp;<a href="#-getrefcount">getrefcount</a>().</tt></dd></dl>
- <dl><dt><a name="-getsizeof"><strong>getsizeof</strong></a>(...)</dt><dd><tt><a href="#-getsizeof">getsizeof</a>(object,&nbsp;default)&nbsp;-&gt;&nbsp;int<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;size&nbsp;of&nbsp;object&nbsp;in&nbsp;bytes.</tt></dd></dl>
- <dl><dt><a name="-gettrace"><strong>gettrace</strong></a>(...)</dt><dd><tt><a href="#-gettrace">gettrace</a>()<br>
-&nbsp;<br>
-Return&nbsp;the&nbsp;global&nbsp;debug&nbsp;tracing&nbsp;function&nbsp;set&nbsp;with&nbsp;sys.settrace.<br>
-See&nbsp;the&nbsp;debugger&nbsp;chapter&nbsp;in&nbsp;the&nbsp;library&nbsp;manual.</tt></dd></dl>
- <dl><dt><a name="-setcheckinterval"><strong>setcheckinterval</strong></a>(...)</dt><dd><tt><a href="#-setcheckinterval">setcheckinterval</a>(n)<br>
-&nbsp;<br>
-Tell&nbsp;the&nbsp;Python&nbsp;interpreter&nbsp;to&nbsp;check&nbsp;for&nbsp;asynchronous&nbsp;events&nbsp;every<br>
-n&nbsp;instructions.&nbsp;&nbsp;This&nbsp;also&nbsp;affects&nbsp;how&nbsp;often&nbsp;thread&nbsp;switches&nbsp;occur.</tt></dd></dl>
- <dl><dt><a name="-setdlopenflags"><strong>setdlopenflags</strong></a>(...)</dt><dd><tt><a href="#-setdlopenflags">setdlopenflags</a>(n)&nbsp;-&gt;&nbsp;None<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;flags&nbsp;that&nbsp;will&nbsp;be&nbsp;used&nbsp;for&nbsp;dlopen()&nbsp;calls.&nbsp;Among&nbsp;other<br>
-things,&nbsp;this&nbsp;will&nbsp;enable&nbsp;a&nbsp;lazy&nbsp;resolving&nbsp;of&nbsp;symbols&nbsp;when&nbsp;importing<br>
-a&nbsp;module,&nbsp;if&nbsp;called&nbsp;as&nbsp;sys.<a href="#-setdlopenflags">setdlopenflags</a>(0)<br>
-To&nbsp;share&nbsp;symbols&nbsp;across&nbsp;extension&nbsp;modules,&nbsp;call&nbsp;as<br>
-sys.<a href="#-setdlopenflags">setdlopenflags</a>(dl.RTLD_NOW|dl.RTLD_GLOBAL)</tt></dd></dl>
- <dl><dt><a name="-setprofile"><strong>setprofile</strong></a>(...)</dt><dd><tt><a href="#-setprofile">setprofile</a>(function)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;profiling&nbsp;function.&nbsp;&nbsp;It&nbsp;will&nbsp;be&nbsp;called&nbsp;on&nbsp;each&nbsp;function&nbsp;call<br>
-and&nbsp;return.&nbsp;&nbsp;See&nbsp;the&nbsp;profiler&nbsp;chapter&nbsp;in&nbsp;the&nbsp;library&nbsp;manual.</tt></dd></dl>
- <dl><dt><a name="-setrecursionlimit"><strong>setrecursionlimit</strong></a>(...)</dt><dd><tt><a href="#-setrecursionlimit">setrecursionlimit</a>(n)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;maximum&nbsp;depth&nbsp;of&nbsp;the&nbsp;Python&nbsp;interpreter&nbsp;stack&nbsp;to&nbsp;n.&nbsp;&nbsp;This<br>
-limit&nbsp;prevents&nbsp;infinite&nbsp;recursion&nbsp;from&nbsp;causing&nbsp;an&nbsp;overflow&nbsp;of&nbsp;the&nbsp;C<br>
-stack&nbsp;and&nbsp;crashing&nbsp;Python.&nbsp;&nbsp;The&nbsp;highest&nbsp;possible&nbsp;limit&nbsp;is&nbsp;platform-<br>
-dependent.</tt></dd></dl>
- <dl><dt><a name="-settrace"><strong>settrace</strong></a>(...)</dt><dd><tt><a href="#-settrace">settrace</a>(function)<br>
-&nbsp;<br>
-Set&nbsp;the&nbsp;global&nbsp;debug&nbsp;tracing&nbsp;function.&nbsp;&nbsp;It&nbsp;will&nbsp;be&nbsp;called&nbsp;on&nbsp;each<br>
-function&nbsp;call.&nbsp;&nbsp;See&nbsp;the&nbsp;debugger&nbsp;chapter&nbsp;in&nbsp;the&nbsp;library&nbsp;manual.</tt></dd></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
-    
-<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>__stderr__</strong> = &lt;open file '&lt;stderr&gt;', mode 'w' at 0x7fdbe72451c8&gt;<br>
-<strong>__stdin__</strong> = &lt;open file '&lt;stdin&gt;', mode 'r' at 0x7fdbe72450b8&gt;<br>
-<strong>__stdout__</strong> = &lt;open file '&lt;stdout&gt;', mode 'w' at 0x7fdbe7245140&gt;<br>
-<strong>api_version</strong> = 1013<br>
-<strong>argv</strong> = ['./make_doc.py']<br>
-<strong>builtin_module_names</strong> = ('__builtin__', '__main__', '_ast', '_codecs', '_sre', '_symtable', '_warnings', 'errno', 'exceptions', 'gc', 'imp', 'marshal', 'posix', 'pwd', 'signal', 'sys', 'thread', 'xxsubtype', 'zipimport')<br>
-<strong>byteorder</strong> = 'little'<br>
-<strong>copyright</strong> = 'Copyright (c) 2001-2009 Python Software Foundati...ematisch Centrum, Amsterdam.<font color="#c040c0">\n</font>All Rights Reserved.'<br>
-<strong>dont_write_bytecode</strong> = False<br>
-<strong>exc_value</strong> = TypeError('arg is a built-in module',)<br>
-<strong>exec_prefix</strong> = '/usr'<br>
-<strong>executable</strong> = '/usr/bin/python'<br>
-<strong>flags</strong> = sys.flags(debug=0, py3k_warning=0, division_warn...abcheck=0, verbose=0, unicode=0, bytes_warning=0)<br>
-<strong>float_info</strong> = sys.floatinfo(max=1.7976931348623157e+308, max_e...psilon=2.2204460492503131e-16, radix=2, rounds=1)<br>
-<strong>hexversion</strong> = 33948912<br>
-<strong>maxint</strong> = 9223372036854775807<br>
-<strong>maxsize</strong> = 9223372036854775807<br>
-<strong>maxunicode</strong> = 65535<br>
-<strong>meta_path</strong> = []<br>
-<strong>modules</strong> = {'UserDict': &lt;module 'UserDict' from '/usr/lib/python2.6/UserDict.pyc'&gt;, '__builtin__': &lt;module '__builtin__' (built-in)&gt;, '__future__': &lt;module '__future__' from '/usr/lib/python2.6/__future__.pyc'&gt;, '__main__': &lt;module '__main__' from './make_doc.py'&gt;, '_abcoll': &lt;module '_abcoll' from '/usr/lib/python2.6/_abcoll.pyc'&gt;, '_codecs': &lt;module '_codecs' (built-in)&gt;, '_collections': &lt;module '_collections' from '/usr/lib/python2.6/lib-dynload/_collections.so'&gt;, '_curses': &lt;module '_curses' from '/usr/lib/python2.6/lib-dynload/_curses.so'&gt;, '_random': &lt;module '_random' from '/usr/lib/python2.6/lib-dynload/_random.so'&gt;, '_socket': &lt;module '_socket' from '/usr/lib/python2.6/lib-dynload/_socket.so'&gt;, ...}<br>
-<strong>path</strong> = ['/home/hut/.ranger', '/home/hut/ranger', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/PIL', '/usr/lib/python2.6/site-packages/gst-0.10', '/usr/lib/python2.6/site-packages/gtk-2.0', '/home/hut/.ranger']<br>
-<strong>path_hooks</strong> = [&lt;type 'zipimport.zipimporter'&gt;]<br>
-<strong>path_importer_cache</strong> = {'.': None, './make_doc.py': &lt;imp.NullImporter object at 0x7fdbe71e8080&gt;, '/home/hut/.ranger': None, '/home/hut/.ranger/colorschemes': None, '/home/hut/ranger': None, '/home/hut/ranger/ranger': None, '/home/hut/ranger/ranger/api': None, '/home/hut/ranger/ranger/colorschemes': None, '/home/hut/ranger/ranger/container': None, '/home/hut/ranger/ranger/defaults': None, ...}<br>
-<strong>platform</strong> = 'linux2'<br>
-<strong>prefix</strong> = '/usr'<br>
-<strong>py3kwarning</strong> = False<br>
-<strong>stderr</strong> = &lt;open file '&lt;stderr&gt;', mode 'w' at 0x7fdbe72451c8&gt;<br>
-<strong>stdin</strong> = &lt;open file '&lt;stdin&gt;', mode 'r' at 0x7fdbe72450b8&gt;<br>
-<strong>stdout</strong> = &lt;open file '&lt;stdout&gt;', mode 'w' at 0x7fdbe7245140&gt;<br>
-<strong>subversion</strong> = ('CPython', 'tags/r264', '75706')<br>
-<strong>version</strong> = '2.6.4 (r264:75706, Oct 27 2009, 06:25:13) <font color="#c040c0">\n</font>[GCC 4.4.1]'<br>
-<strong>version_info</strong> = (2, 6, 4, 'final', 0)<br>
-<strong>warnoptions</strong> = []</td></tr></table>
-</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/test.html b/doc/pydoc/test.html
index 9d8b41b4..2a0ce426 100644
--- a/doc/pydoc/test.html
+++ b/doc/pydoc/test.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>test</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/__init__.py">/home/hut/ranger/test/__init__.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -25,9 +38,8 @@
 <a href="test.tc_ext.html">tc_ext</a><br>
 </td><td width="25%" valign=top><a href="test.tc_history.html">tc_history</a><br>
 <a href="test.tc_keyapi.html">tc_keyapi</a><br>
-<a href="test.tc_mount_path.html">tc_mount_path</a><br>
-</td><td width="25%" valign=top><a href="test.tc_ui.html">tc_ui</a><br>
-<a href="test.test.html">test</a><br>
+<a href="test.tc_ui.html">tc_ui</a><br>
+</td><td width="25%" valign=top><a href="test.test.html">test</a><br>
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#55aa55">
@@ -35,5 +47,5 @@
 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>__all__</strong> = ['tc_commandlist', 'tc_history', 'tc_directory', 'tc_ui', 'tc_ext', 'tc_commandlist', 'tc_bookmarks', 'tc_history', 'tc_keyapi', 'tc_ui', 'tc_mount_path', 'tc_displayable', 'tc_keyapi', 'tc_colorscheme', 'tc_bookmarks', 'tc_directory', 'tc_colorscheme', 'tc_displayable', 'tc_ext']</td></tr></table>
+<td width="100%"><strong>__all__</strong> = ['tc_keyapi', 'tc_history', 'tc_directory', 'tc_colorscheme', 'tc_commandlist', 'tc_displayable', 'tc_ui', 'tc_bookmarks', 'tc_ext']</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/test.tc_bookmarks.html b/doc/pydoc/test.tc_bookmarks.html
index 657d3d19..0d14d5d6 100644
--- a/doc/pydoc/test.tc_bookmarks.html
+++ b/doc/pydoc/test.tc_bookmarks.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_bookmarks</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_bookmarks.py">/home/hut/ranger/test/tc_bookmarks.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/test.tc_colorscheme.html b/doc/pydoc/test.tc_colorscheme.html
index d699f417..be917eb1 100644
--- a/doc/pydoc/test.tc_colorscheme.html
+++ b/doc/pydoc/test.tc_colorscheme.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_colorscheme</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_colorscheme.py">/home/hut/ranger/test/tc_colorscheme.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/test.tc_directory.html b/doc/pydoc/test.tc_directory.html
index 0992a715..6ec13991 100644
--- a/doc/pydoc/test.tc_directory.html
+++ b/doc/pydoc/test.tc_directory.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_directory</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_directory.py">/home/hut/ranger/test/tc_directory.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/test.tc_displayable.html b/doc/pydoc/test.tc_displayable.html
index 38592f26..f4e4ac64 100644
--- a/doc/pydoc/test.tc_displayable.html
+++ b/doc/pydoc/test.tc_displayable.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_displayable</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_displayable.py">/home/hut/ranger/test/tc_displayable.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/test.tc_history.html b/doc/pydoc/test.tc_history.html
index bf1aba8c..3c12d220 100644
--- a/doc/pydoc/test.tc_history.html
+++ b/doc/pydoc/test.tc_history.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_history</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_history.py">/home/hut/ranger/test/tc_history.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/pydoc/test.tc_keyapi.html b/doc/pydoc/test.tc_keyapi.html
index d4f2418d..5feea805 100644
--- a/doc/pydoc/test.tc_keyapi.html
+++ b/doc/pydoc/test.tc_keyapi.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_keyapi</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_keyapi.py">/home/hut/ranger/test/tc_keyapi.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
diff --git a/doc/pydoc/test.tc_ui.html b/doc/pydoc/test.tc_ui.html
index cb19d14a..90b9ca9c 100644
--- a/doc/pydoc/test.tc_ui.html
+++ b/doc/pydoc/test.tc_ui.html
@@ -9,7 +9,20 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.tc_ui</strong></big></big></font></td
 ><td align=right valign=bottom
 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/test/tc_ui.py">/home/hut/ranger/test/tc_ui.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>#&nbsp;Copyright&nbsp;(C)&nbsp;2009,&nbsp;2010&nbsp;&nbsp;Roman&nbsp;Zimbelmann&nbsp;&lt;romanz@lavabit.com&gt;<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
+#&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
+#&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
+#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
+#<br>
+#&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
+#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
+#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
+#&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
+#<br>
+#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
+#&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
diff --git a/doc/uml.txt b/doc/uml.txt
new file mode 100644
index 00000000..67e84ee2
--- /dev/null
+++ b/doc/uml.txt
@@ -0,0 +1,5 @@
+UML
+===
+
+The uml documents can be opened with bouml, althought there's
+not much useful, up-to-date information.
diff --git a/ranger/__init__.py b/ranger/__init__.py
index 61df678d..e2a4983d 100644
--- a/ranger/__init__.py
+++ b/ranger/__init__.py
@@ -17,28 +17,53 @@
 
 import os
 import sys
-
-# for easier access
-from ranger.ext.debug import log, trace
-
-__copyright__ = """
-Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-"""
+from ranger.ext.openstruct import OpenStruct
 
 __license__ = 'GPL3'
-__version__ = '1.0.3'
+__version__ = '1.0.4'
 __credits__ = 'Roman Zimbelmann'
 __author__ = 'Roman Zimbelmann'
 __maintainer__ = 'Roman Zimbelmann'
 __email__ = 'romanz@lavabit.com'
 
-debug = False
+__copyright__ = """
+Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
+"""
 
-CONFDIR = os.path.expanduser('~/.ranger')
+USAGE = '%prog [options] [path/filename]'
+DEFAULT_CONFDIR = '~/.ranger'
 RANGERDIR = os.path.dirname(__file__)
+LOGFILE = '/tmp/errorlog'
+arg = OpenStruct(cd_after_exit=False,
+		debug=False, clean=False, confdir=DEFAULT_CONFDIR,
+		mode=0, flags='', targets=[])
 
-sys.path.append(CONFDIR)
+#for python3-only versions, this could be replaced with:
+#def log(*objects, start='ranger:', sep=' ', end='\n'):
+#	print(start, *objects, end=end, sep=sep, file=open(LOGFILE, 'a'))
+def log(*objects, **keywords):
+	"""
+	Writes objects to a logfile (for the purpose of debugging only.)
+	Has the same arguments as print() in python3.
+	"""
+	if LOGFILE is None or arg.clean:
+		return
+	start = 'start' in keywords and keywords['start'] or 'ranger:'
+	sep   =   'sep' in keywords and keywords['sep']   or ' '
+	_file =  'file' in keywords and keywords['file']  or open(LOGFILE, 'a')
+	end   =   'end' in keywords and keywords['end']   or '\n'
+	_file.write(sep.join(map(str, (start, ) + objects)) + end)
+
+def relpath_conf(*paths):
+	"""returns the path relative to rangers configuration directory"""
+	if arg.clean:
+		assert 0, "Should not access relpath_conf in clean mode!"
+	else:
+		return os.path.join(arg.confdir, *paths)
+
+def relpath(*paths):
+	"""returns the path relative to rangers library directory"""
+	return os.path.join(RANGERDIR, *paths)
 
-USAGE = '%prog [options] [path/filename]'
 
 from ranger.__main__ import main
diff --git a/ranger/__main__.py b/ranger/__main__.py
index 72b4adf8..bd01bf4a 100644
--- a/ranger/__main__.py
+++ b/ranger/__main__.py
@@ -19,40 +19,14 @@
 import os
 import sys
 
-def main():
-	"""initialize objects and run the filemanager"""
-	try:
-		import curses
-	except ImportError as errormessage:
-		print(errormessage)
-		print('ranger requires the python curses module. Aborting.')
-		sys.exit(1)
-
-	from signal import signal, SIGINT
-	from locale import setlocale, LC_ALL
-	from optparse import OptionParser, SUPPRESS_HELP
-
-	import ranger
-	from ranger.ext import curses_interrupt_handler
-	from ranger import __version__, USAGE, CONFDIR
-	from ranger.fm import FM
-	from ranger.container.environment import Environment
-	from ranger.shared.settings import SettingsAware
-	from ranger.gui.defaultui import DefaultUI as UI
-	from ranger.fsobject.file import File
 
-	try:
-		setlocale(LC_ALL, 'en_US.utf8')
-	except:
-		pass
-	os.stat_float_times(True)
-	curses_interrupt_handler.install_interrupt_handler()
-
-	if not os.path.exists(CONFDIR):
-		os.mkdir(CONFDIR)
+def parse_arguments():
+	"""Parse the program arguments"""
 
+	from optparse import OptionParser, SUPPRESS_HELP
+	from ranger.ext.openstruct import OpenStruct
+	from ranger import __version__, USAGE, DEFAULT_CONFDIR
 
-	# Parse options
 	parser = OptionParser(usage=USAGE, version='ranger ' + __version__)
 
 	# Instead of using this directly, use the embedded
@@ -62,33 +36,91 @@ def main():
 			action='store_true',
 			help=SUPPRESS_HELP)
 
-	parser.add_option('-m', type='int', dest='mode', default=0,
+	parser.add_option('-d', '--debug', action='store_true',
+			help="activate debug mode")
+
+	parser.add_option('-c', '--clean', action='store_true',
+			help="don't touch/require any config files. ")
+
+	parser.add_option('-r', '--confdir', dest='confdir', type='string',
+			default=DEFAULT_CONFDIR,
+			help="the configuration directory. (%default)")
+
+	parser.add_option('-m', '--mode', type='int', dest='mode', default=0,
 			help="if a filename is supplied, run it with this mode")
 
-	parser.add_option('-f', type='string', dest='flags', default='',
+	parser.add_option('-f', '--flags', type='string', dest='flags', default='',
 			help="if a filename is supplied, run it with these flags.")
 
-	parser.add_option('-d', '--debug', action='store_true',
-			help="activate debug mode")
+	options, positional = parser.parse_args()
+
+	arg = OpenStruct(options.__dict__, targets=positional)
 
-	args, rest = parser.parse_args()
+	arg.confdir = os.path.expanduser(arg.confdir)
 
-	if args.cd_after_exit:
+	if arg.cd_after_exit:
 		sys.stderr = sys.__stdout__
 
-	ranger.debug = args.debug
+	if not arg.clean:
+		try:
+			os.makedirs(arg.confdir)
+		except OSError as err:
+			if err.errno != 17:  # 17 means it already exists
+				print("This configuration directory could not be created:")
+				print(arg.confdir)
+				print("To run ranger without the need for configuration files")
+				print("use the --clean option.")
+				raise SystemExit()
+
+		sys.path.append(arg.confdir)
+
+	return arg
+
+def main():
+	"""initialize objects and run the filemanager"""
+	try:
+		import curses
+	except ImportError as errormessage:
+		print(errormessage)
+		print('ranger requires the python curses module. Aborting.')
+		sys.exit(1)
+
+	from signal import signal, SIGINT
+	from locale import getdefaultlocale, setlocale, LC_ALL
+
+	import ranger
+	from ranger.ext import curses_interrupt_handler
+	from ranger.core.fm import FM
+	from ranger.core.environment import Environment
+	from ranger.shared.settings import SettingsAware
+	from ranger.gui.defaultui import DefaultUI as UI
+	from ranger.fsobject.file import File
+
+	# Ensure that a utf8 locale is set.
+	if getdefaultlocale()[1] not in ('utf8', 'UTF-8'):
+		for locale in ('en_US.utf8', 'en_US.UTF-8'):
+			try: setlocale(LC_ALL, locale)
+			except: pass  #sometimes there is none available though...
+	else:
+		setlocale(LC_ALL, '')
+
+	arg = parse_arguments()
+	ranger.arg = arg
+
+	if not ranger.arg.debug:
+		curses_interrupt_handler.install_interrupt_handler()
 
 	SettingsAware._setup()
 
 	# Initialize objects
-	target = ' '.join(rest)
-	if target:
+	if arg.targets:
+		target = arg.targets[0]
 		if not os.access(target, os.F_OK):
 			print("File or directory doesn't exist: %s" % target)
 			sys.exit(1)
 		elif os.path.isfile(target):
 			thefile = File(target)
-			FM().execute_file(thefile, mode=args.mode, flags=args.flags)
+			FM().execute_file(thefile, mode=arg.mode, flags=arg.flags)
 			sys.exit(0)
 		else:
 			path = target
@@ -100,7 +132,7 @@ def main():
 	try:
 		my_ui = UI()
 		my_fm = FM(ui=my_ui)
-		my_fm.stderr_to_out = args.cd_after_exit
+		my_fm.stderr_to_out = arg.cd_after_exit
 
 		# Run the file manager
 		my_fm.initialize()
@@ -110,8 +142,8 @@ def main():
 		# Finish, clean up
 		if 'my_ui' in vars():
 			my_ui.destroy()
-		if args.cd_after_exit:
-			try: sys.__stderr__.write(my_fm.env.pwd.path)
+		if arg.cd_after_exit:
+			try: sys.__stderr__.write(my_fm.env.cwd.path)
 			except: pass
 
 if __name__ == '__main__':
diff --git a/ranger/api/apps.py b/ranger/api/apps.py
index 743fa248..a17a6601 100644
--- a/ranger/api/apps.py
+++ b/ranger/api/apps.py
@@ -14,7 +14,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 """
-This module provides helper functions/classes for ranger.defaults.apps.
+This module provides helper functions/classes for ranger.apps.
 """
 
 import os, sys, re
@@ -26,7 +26,7 @@ from ranger.shared import FileManagerAware
 class Applications(FileManagerAware):
 	"""
 	This class contains definitions on how to run programs and should
-	be extended in ranger.defaults.apps
+	be extended in ranger.apps
 
 	The user can decide what program to run, and if he uses eg. 'vim', the
 	function app_vim() will be called.  However, usually the user
@@ -78,6 +78,8 @@ class Applications(FileManagerAware):
 			try:
 				application_handler = getattr(self, 'app_' + app)
 			except AttributeError:
+				if app in self.fm.executables:
+					return tup(app, *context)
 				continue
 			if self._meets_dependencies(application_handler):
 				return application_handler(context)
@@ -99,6 +101,8 @@ class Applications(FileManagerAware):
 		try:
 			handler = getattr(self, 'app_' + app)
 		except AttributeError:
+			if app in self.fm.executables:
+				return tup(app, *context)  # generic app
 			handler = self.app_default
 		return handler(context)
 
@@ -108,8 +112,12 @@ class Applications(FileManagerAware):
 
 	def all(self):
 		"""Returns a list with all application functions"""
-		methods = self.__class__.__dict__
-		return [meth[4:] for meth in methods if meth.startswith('app_')]
+		result = set()
+		# go through all the classes in the mro (method resolution order)
+		# so subclasses will return the apps of their superclasses.
+		for cls in self.__class__.__mro__:
+			result |= set(m[4:] for m in cls.__dict__ if m.startswith('app_'))
+		return sorted(result)
 
 
 def tup(*args):
diff --git a/ranger/api/options.py b/ranger/api/options.py
index 10778379..7ead8c90 100644
--- a/ranger/api/options.py
+++ b/ranger/api/options.py
@@ -15,4 +15,16 @@
 
 import re
 from re import compile as regexp
-from ranger import colorschemes
+from ranger import colorschemes as allschemes
+
+class AttrToString(object):
+	"""
+	Purely for compatibility to 1.0.3.
+	"""
+	def __getattr__(self, attr):
+		print("NOTE: your configuration is out of date.")
+		print("instead of this: colorscheme = colorschemes." + attr)
+		print("please use a string: colorscheme = \"" + attr + "\"")
+		return attr
+
+colorschemes = AttrToString()
diff --git a/ranger/colorschemes/__init__.py b/ranger/colorschemes/__init__.py
index b685a191..8b7a21a9 100644
--- a/ranger/colorschemes/__init__.py
+++ b/ranger/colorschemes/__init__.py
@@ -13,30 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-"""Colorschemes are required to be located here,
-or in the CONFDIR/colorschemes/ directory"""
-from ranger.ext.get_all_modules import get_all_modules
-from os.path import expanduser, dirname, exists, join
-
-__all__ = get_all_modules(dirname(__file__))
-
-from ranger.colorschemes import *
-
-confpath = expanduser('~/.ranger')
-if exists(join(confpath, 'colorschemes')):
-	initpy = join(confpath, 'colorschemes/__init__.py')
-	if not exists(initpy):
-		open(initpy, 'w').write("""# Automatically generated:
-from ranger.ext.get_all_modules import get_all_modules
-from os.path import dirname
-
-__all__ = get_all_modules(dirname(__file__))
-""")
-
-	try:
-		import sys
-		sys.path[0:0] = [confpath]
-		from colorschemes import *
-	except ImportError:
-		pass
-
+"""
+Colorschemes are required to be located here or in CONFDIR/colorschemes/
+"""
diff --git a/ranger/colorschemes/default.py b/ranger/colorschemes/default.py
index f5c5d763..d1a7e820 100644
--- a/ranger/colorschemes/default.py
+++ b/ranger/colorschemes/default.py
@@ -30,6 +30,8 @@ class Default(ColorScheme):
 				attr = normal
 			if context.empty or context.error:
 				bg = red
+			if context.border:
+				fg = default
 			if context.media:
 				if context.image:
 					fg = yellow
diff --git a/ranger/colorschemes/default88.py b/ranger/colorschemes/default88.py
new file mode 100644
index 00000000..9af6dca7
--- /dev/null
+++ b/ranger/colorschemes/default88.py
@@ -0,0 +1,59 @@
+# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+"""
+The default colorscheme, using 88 colors.
+
+For now, just map each of the 8 base colors to new ones
+for brighter blue, etc. and do some minor modifications.
+"""
+
+from ranger.gui.colorscheme import ColorScheme
+from ranger.gui.color import *
+
+from ranger.colorschemes.default import Default
+import curses
+
+class Scheme(Default):
+	def use(self, context):
+		fg, bg, attr = Default.use(self, context)
+
+		if curses.COLORS < 88:
+			return fg, bg, attr
+
+		try:
+			translate = {
+				blue: 22,
+				yellow: 72,
+				green: 20,
+				cyan: 21,
+				white: 79,
+				red: 32,
+				magenta: magenta,
+			}
+			fg = translate[fg]
+		except KeyError:
+			pass
+
+		if context.in_browser:
+			if context.main_column and context.marked:
+				if context.selected:
+					fg = 77
+				else:
+					fg = 68
+					attr |= reverse
+
+		return fg, bg, attr
+
diff --git a/ranger/colorschemes/texas.py b/ranger/colorschemes/texas.py
new file mode 100644
index 00000000..93fd4791
--- /dev/null
+++ b/ranger/colorschemes/texas.py
@@ -0,0 +1,73 @@
+# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+"""
+Some experimental colorscheme.
+"""
+
+from ranger.gui.colorscheme import ColorScheme
+from ranger.gui.color import *
+
+from ranger.colorschemes.default import Default
+import curses
+
+class Scheme(Default):
+	def use(self, context):
+		fg, bg, attr = Default.use(self, context)
+
+		if curses.COLORS < 88:
+			return fg, bg, attr
+
+		dircolor = 77
+		dircolor_selected = {True: 79, False: 78}
+		linkcolor = {True: 21, False: 48}
+
+		if context.in_browser:
+			if context.media:
+				if context.image:
+					fg = 20
+				elif context.video:
+					fg = 22
+				elif context.audio:
+					fg = 23
+
+			if context.container:
+				fg = 32
+			if context.directory:
+				fg = dircolor
+				if context.selected:
+					fg = dircolor_selected[context.main_column]
+			elif context.executable and not \
+					any((context.media, context.container)):
+				fg = 82
+			if context.link:
+				fg = linkcolor[context.good]
+
+			if context.main_column:
+				if context.selected:
+					attr |= bold
+				if context.marked:
+					attr |= bold
+					fg = 53
+
+		if context.in_titlebar:
+			if context.hostname:
+				fg = context.bad and 48 or 82
+			elif context.directory:
+				fg = dircolor
+			elif context.link:
+				fg = linkcolor[True]
+
+		return fg, bg, attr
diff --git a/ranger/container/bookmarks.py b/ranger/container/bookmarks.py
index a0c757ca..d4e12f62 100644
--- a/ranger/container/bookmarks.py
+++ b/ranger/container/bookmarks.py
@@ -150,6 +150,8 @@ class Bookmarks(object):
 		This is done automatically after every modification if autosave is True."""
 		import os
 		self.update()
+		if self.path is None:
+			return
 		if os.access(self.path, os.W_OK):
 			f = open(self.path, 'w')
 			for key, value in self.dct.items():
@@ -163,6 +165,10 @@ class Bookmarks(object):
 	def _load_dict(self):
 		import os
 		dct = {}
+
+		if self.path is None:
+			return dct
+
 		if not os.path.exists(self.path):
 			try:
 				f = open(self.path, 'w')
@@ -193,6 +199,8 @@ class Bookmarks(object):
 
 	def _get_mtime(self):
 		import os
+		if self.path is None:
+			return None
 		try:
 			return os.stat(self.path).st_mtime
 		except OSError:
diff --git a/ranger/container/tags.py b/ranger/container/tags.py
index 70a4aa3d..11ac3a5d 100644
--- a/ranger/container/tags.py
+++ b/ranger/container/tags.py
@@ -81,3 +81,7 @@ class Tags(object):
 		for line in f:
 			result.add(line.strip())
 		return result
+
+	def __nonzero__(self):
+		return True
+	__bool__ = __nonzero__
diff --git a/ranger/core/__init__.py b/ranger/core/__init__.py
new file mode 100644
index 00000000..93c483f2
--- /dev/null
+++ b/ranger/core/__init__.py
@@ -0,0 +1 @@
+"""Core components"""
diff --git a/ranger/actions.py b/ranger/core/actions.py
index 754fd857..e55d65b1 100644
--- a/ranger/actions.py
+++ b/ranger/core/actions.py
@@ -51,12 +51,12 @@ class Actions(EnvironmentAware, SettingsAware):
 			elif order == 'tag':
 				fnc = lambda x: x.realpath in self.tags
 
-			return self.env.pwd.search_fnc(fnc=fnc, forward=forward)
+			return self.env.cwd.search_fnc(fnc=fnc, forward=forward)
 
 		elif order in ('size', 'mimetype', 'ctime'):
-			pwd = self.env.pwd
-			if original_order is not None or not pwd.cycle_list:
-				lst = list(pwd.files)
+			cwd = self.env.cwd
+			if original_order is not None or not cwd.cycle_list:
+				lst = list(cwd.files)
 				if order == 'size':
 					fnc = lambda item: -item.size
 				elif order == 'mimetype':
@@ -64,10 +64,10 @@ class Actions(EnvironmentAware, SettingsAware):
 				elif order == 'ctime':
 					fnc = lambda item: -int(item.stat and item.stat.st_ctime)
 				lst.sort(key=fnc)
-				pwd.set_cycle_list(lst)
-				return pwd.cycle(forward=None)
+				cwd.set_cycle_list(lst)
+				return cwd.cycle(forward=None)
 
-			return pwd.cycle(forward=forward)
+			return cwd.cycle(forward=forward)
 
 	def set_search_method(self, order, forward=True):
 		if order in ('search', 'tag', 'size', 'mimetype', 'ctime'):
@@ -85,9 +85,9 @@ class Actions(EnvironmentAware, SettingsAware):
 	def enter_dir(self, path, remember=False):
 		"""Enter the directory at the given path"""
 		if remember:
-			pwd = self.env.pwd
+			cwd = self.env.cwd
 			result = self.env.enter_dir(path)
-			self.bookmarks.remember(pwd)
+			self.bookmarks.remember(cwd)
 			return result
 		return self.env.enter_dir(path)
 
@@ -133,16 +133,16 @@ class Actions(EnvironmentAware, SettingsAware):
 		"""Enter the bookmark with the name <key>"""
 		try:
 			destination = self.bookmarks[key]
-			pwd = self.env.pwd
-			if destination.path != pwd.path:
+			cwd = self.env.cwd
+			if destination.path != cwd.path:
 				self.bookmarks.enter(key)
-				self.bookmarks.remember(pwd)
+				self.bookmarks.remember(cwd)
 		except KeyError:
 			pass
 
 	def set_bookmark(self, key):
 		"""Set the bookmark with the name <key> to the current directory"""
-		self.bookmarks[key] = self.env.pwd
+		self.bookmarks[key] = self.env.cwd
 
 	def unset_bookmark(self, key):
 		"""Delete the bookmark with the name <key>"""
@@ -273,7 +273,7 @@ class Actions(EnvironmentAware, SettingsAware):
 
 	def move_pointer(self, relative = 0, absolute = None, narg=None):
 		"""Move the pointer down by <relative> or to <absolute>"""
-		self.env.pwd.move(relative=relative,
+		self.env.cwd.move(relative=relative,
 				absolute=absolute, narg=narg)
 
 	def move(self, dir, narg=None):
@@ -316,12 +316,12 @@ class Actions(EnvironmentAware, SettingsAware):
 
 	def move_pointer_by_pages(self, relative):
 		"""Move the pointer down by <relative> pages"""
-		self.env.pwd.move(relative=int(relative * self.env.termsize[0]))
+		self.env.cwd.move(relative=int(relative * self.env.termsize[0]))
 
 	def move_pointer_by_percentage(self, relative=0, absolute=None, narg=None):
 		"""Move the pointer down by <relative>% or to <absolute>%"""
 		try:
-			factor = len(self.env.pwd) / 100.0
+			factor = len(self.env.cwd) / 100.0
 		except:
 			return
 
@@ -331,7 +331,7 @@ class Actions(EnvironmentAware, SettingsAware):
 		if absolute is not None:
 			absolute = int(absolute * factor)
 
-		self.env.pwd.move(
+		self.env.cwd.move(
 				relative=int(relative * factor),
 				absolute=absolute)
 
@@ -339,7 +339,7 @@ class Actions(EnvironmentAware, SettingsAware):
 		"""Scroll down by <relative> lines"""
 		if hasattr(self.ui, 'scroll'):
 			self.ui.scroll(relative)
-			self.env.cf = self.env.pwd.pointed_obj
+			self.env.cf = self.env.cwd.pointed_obj
 
 	def redraw_window(self):
 		"""Redraw the window"""
@@ -347,7 +347,7 @@ class Actions(EnvironmentAware, SettingsAware):
 
 	def reset(self):
 		"""Reset the filemanager, clearing the directory buffer"""
-		old_path = self.env.pwd.path
+		old_path = self.env.cwd.path
 		self.env.directories = {}
 		self.enter_dir(old_path)
 
@@ -371,7 +371,7 @@ class Actions(EnvironmentAware, SettingsAware):
 
 	def reload_cwd(self):
 		try:
-			cwd = self.env.pwd
+			cwd = self.env.cwd
 		except:
 			pass
 		cwd.unload()
@@ -379,13 +379,13 @@ class Actions(EnvironmentAware, SettingsAware):
 
 	def traverse(self):
 		cf = self.env.cf
-		cwd = self.env.pwd
+		cwd = self.env.cwd
 		if cf is not None and cf.is_directory:
 			self.enter_dir(cf.path)
 		elif cwd.pointer >= len(cwd) - 1:
 			while True:
 				self.enter_dir('..')
-				cwd = self.env.pwd
+				cwd = self.env.cwd
 				if cwd.pointer < len(cwd) - 1:
 					break
 				if cwd.path == '/':
@@ -398,13 +398,13 @@ class Actions(EnvironmentAware, SettingsAware):
 
 	def set_filter(self, fltr):
 		try:
-			self.env.pwd.filter = fltr
+			self.env.cwd.filter = fltr
 		except:
 			pass
 
 	def notify(self, text, duration=4, bad=False):
 		if isinstance(text, Exception):
-			if ranger.debug:
+			if ranger.arg.debug:
 				raise
 			bad = True
 		text = str(text)
@@ -425,12 +425,12 @@ class Actions(EnvironmentAware, SettingsAware):
 		val - mark or unmark?
 		"""
 
-		if self.env.pwd is None:
+		if self.env.cwd is None:
 			return
 
-		pwd = self.env.pwd
+		cwd = self.env.cwd
 
-		if not pwd.accessible:
+		if not cwd.accessible:
 			return
 
 		if movedown is None:
@@ -441,17 +441,17 @@ class Actions(EnvironmentAware, SettingsAware):
 
 		if all:
 			if toggle:
-				pwd.toggle_all_marks()
+				cwd.toggle_all_marks()
 			else:
-				pwd.mark_all(val)
+				cwd.mark_all(val)
 		else:
-			for i in range(pwd.pointer, min(pwd.pointer + narg, len(pwd))):
-				item = pwd.files[i]
+			for i in range(cwd.pointer, min(cwd.pointer + narg, len(cwd))):
+				item = cwd.files[i]
 				if item is not None:
 					if toggle:
-						pwd.toggle_mark(item)
+						cwd.toggle_mark(item)
 					else:
-						pwd.mark_item(item, val)
+						cwd.mark_item(item, val)
 
 		if movedown:
 			self.move_pointer(relative=narg)
@@ -467,7 +467,7 @@ class Actions(EnvironmentAware, SettingsAware):
 		"""Copy the selected items"""
 
 		selected = self.env.get_selection()
-		self.env.copy = set(f for f in selected if f in self.env.pwd.files)
+		self.env.copy = set(f for f in selected if f in self.env.cwd.files)
 		self.env.cut = False
 
 	def cut(self):
@@ -499,7 +499,7 @@ class Actions(EnvironmentAware, SettingsAware):
 		if not copied_files:
 			return
 
-		original_path = self.env.pwd.path
+		original_path = self.env.cwd.path
 		try:
 			one_file = copied_files[0]
 		except:
@@ -518,8 +518,8 @@ class Actions(EnvironmentAware, SettingsAware):
 							dst=original_path,
 							overwrite=overwrite):
 						yield
-				pwd = self.env.get_directory(original_path)
-				pwd.load_content()
+				cwd = self.env.get_directory(original_path)
+				cwd.load_content()
 		else:
 			if len(copied_files) == 1:
 				descr = "copying: " + one_file.path
@@ -529,7 +529,7 @@ class Actions(EnvironmentAware, SettingsAware):
 				for f in self.env.copy:
 					if isdir(f.path):
 						for _ in shutil_g.copytree(src=f.path,
-								dst=join(self.env.pwd.path, f.basename),
+								dst=join(self.env.cwd.path, f.basename),
 								symlinks=True,
 								overwrite=overwrite):
 							yield
@@ -538,8 +538,8 @@ class Actions(EnvironmentAware, SettingsAware):
 								symlinks=True,
 								overwrite=overwrite):
 							yield
-				pwd = self.env.get_directory(original_path)
-				pwd.load_content()
+				cwd = self.env.get_directory(original_path)
+				cwd.load_content()
 
 		self.loader.add(LoadableObject(generate(), descr))
 
@@ -559,10 +559,11 @@ class Actions(EnvironmentAware, SettingsAware):
 						os.remove(f.path)
 					except OSError as err:
 						self.notify(err)
+		self.env.ensure_correct_pointer()
 
 	def mkdir(self, name):
 		try:
-			os.mkdir(os.path.join(self.env.pwd.path, name))
+			os.mkdir(os.path.join(self.env.cwd.path, name))
 		except OSError as err:
 			self.notify(err)
 
diff --git a/ranger/container/environment.py b/ranger/core/environment.py
index b08b357f..4301d237 100644
--- a/ranger/container/environment.py
+++ b/ranger/core/environment.py
@@ -13,19 +13,22 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-from os.path import abspath, normpath, join, expanduser, isdir
+import curses
 import os
+import pwd
+import socket
+from os.path import abspath, normpath, join, expanduser, isdir
+
 from ranger.fsobject.directory import Directory, NoDirectoryGiven
 from ranger.container import KeyBuffer, History
 from ranger.shared import SettingsAware
-import curses
 
 class Environment(SettingsAware):
 	"""A collection of data which is relevant for more than
 	one class.
 	"""
 
-	pwd = None  # current directory
+	cwd = None  # current directory
 	cf = None  # current file
 	copy = None
 	cmd = None
@@ -46,6 +49,13 @@ class Environment(SettingsAware):
 		self.copy = set()
 		self.history = History(self.settings.max_history_size)
 
+		try:
+			self.username = pwd.getpwuid(os.geteuid()).pw_name
+		except:
+			self.username = 'uid:' + str(os.geteuid())
+		self.hostname = socket.gethostname()
+		self.home_path = os.path.expanduser('~')
+
 		from ranger.shared import EnvironmentAware
 		EnvironmentAware.env = self
 
@@ -63,22 +73,32 @@ class Environment(SettingsAware):
 		self.keybuffer.clear()
 
 	def at_level(self, level):
-		"""Returns the FileSystemObject at the given level.
-		level 1 => preview
+		"""
+		Returns the FileSystemObject at the given level.
+		level >0 => previews
 		level 0 => current file/directory
-		level <0 => parent directories"""
+		level <0 => parent directories
+		"""
 		if level <= 0:
 			try:
 				return self.pathway[level - 1]
 			except IndexError:
 				return None
 		else:
+			directory = self.cf
+			for i in range(level - 1):
+				if directory is None:
+					return None
+				if directory.is_directory:
+					directory = directory.pointed_obj
+				else:
+					return None
 			try:
-				return self.directories[self.cf.path]
+				return self.directories[directory.path]
 			except AttributeError:
 				return None
 			except KeyError:
-				return self.cf
+				return directory
 
 	def garbage_collect(self):
 		"""Delete unused directory objects"""
@@ -90,8 +110,8 @@ class Environment(SettingsAware):
 					del self.directories[key]
 
 	def get_selection(self):
-		if self.pwd:
-			return self.pwd.get_selection()
+		if self.cwd:
+			return self.cwd.get_selection()
 		return set()
 
 	def get_directory(self, path):
@@ -109,7 +129,7 @@ class Environment(SettingsAware):
 		stat = statvfs(path)
 		return stat.f_bavail * stat.f_bsize
 
-	def assign_correct_cursor_positions(self):
+	def assign_cursor_positions_for_subdirs(self):
 		"""Assign correct cursor positions for subdirectories"""
 		last_path = None
 		for path in reversed(self.pathway):
@@ -120,6 +140,10 @@ class Environment(SettingsAware):
 			path.move_to_obj(last_path)
 			last_path = path
 
+	def ensure_correct_pointer(self):
+		if self.cwd:
+			self.cwd.correct_pointer()
+
 	def history_go(self, relative):
 		"""Move relative in history"""
 		if self.history:
@@ -137,15 +161,15 @@ class Environment(SettingsAware):
 			return
 
 		try:
-			new_pwd = self.get_directory(path)
+			new_cwd = self.get_directory(path)
 		except NoDirectoryGiven:
 			return False
 
 		self.path = path
-		self.pwd = new_pwd
+		self.cwd = new_cwd
 		os.chdir(path)
 
-		self.pwd.load_content_if_outdated()
+		self.cwd.load_content_if_outdated()
 
 		# build the pathway, a tuple of directory objects which lie
 		# on the path to the current directory.
@@ -159,14 +183,14 @@ class Environment(SettingsAware):
 				pathway.append(self.get_directory(currentpath))
 			self.pathway = tuple(pathway)
 
-		self.assign_correct_cursor_positions()
+		self.assign_cursor_positions_for_subdirs()
 
 		# set the current file.
-		self.pwd.directories_first = self.settings.directories_first
-		self.pwd.sort_if_outdated()
-		self.cf = self.pwd.pointed_obj
+		self.cwd.directories_first = self.settings.directories_first
+		self.cwd.sort_if_outdated()
+		self.cf = self.cwd.pointed_obj
 
 		if history:
-			self.history.add(new_pwd)
+			self.history.add(new_cwd)
 
 		return True
diff --git a/ranger/fm.py b/ranger/core/fm.py
index aa1f0493..994447b0 100644
--- a/ranger/fm.py
+++ b/ranger/core/fm.py
@@ -13,13 +13,18 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+"""
+The File Manager, putting the pieces together
+"""
+
 from time import time
 from collections import deque
 
-from ranger.actions import Actions
+import ranger
+from ranger.core.actions import Actions
 from ranger.container import Bookmarks
-from ranger.runner import Runner
-from ranger.ext.relpath import relpath_conf
+from ranger.core.runner import Runner
+from ranger import relpath_conf
 from ranger.ext.get_executables import get_executables
 from ranger import __version__
 from ranger.fsobject import Loader
@@ -61,8 +66,12 @@ class FM(Actions):
 		from ranger.fsobject.directory import Directory
 
 		if self.bookmarks is None:
+			if ranger.arg.clean:
+				bookmarkfile = None
+			else:
+				bookmarkfile = relpath_conf('bookmarks')
 			self.bookmarks = Bookmarks(
-					bookmarkfile=relpath_conf('bookmarks'),
+					bookmarkfile=bookmarkfile,
 					bookmarktype=Directory,
 					autosave=self.settings.autosave_bookmarks)
 			self.bookmarks.load()
@@ -71,8 +80,8 @@ class FM(Actions):
 			self.bookmarks = bookmarks
 
 		from ranger.container.tags import Tags
-		if self.tags is None:
-			self.tags = Tags('~/.ranger/tagged')
+		if not ranger.arg.clean and self.tags is None:
+			self.tags = Tags(relpath_conf('tagged'))
 
 		if self.ui is None:
 			from ranger.gui.defaultui import DefaultUI
@@ -97,34 +106,47 @@ class FM(Actions):
 
 		gc_tick = 0
 
+		# for faster lookup:
+		ui = self.ui
+		throbber = ui.throbber
+		bookmarks = self.bookmarks
+		loader = self.loader
+		env = self.env
+		has_throbber = hasattr(ui, 'throbber')
+
 		try:
 			while True:
-				self.bookmarks.update_if_outdated()
-				self.loader.work()
-				if hasattr(self.ui, 'throbber'):
-					if self.loader.has_work():
-						self.ui.throbber(self.loader.status)
+				bookmarks.update_if_outdated()
+				loader.work()
+				if has_throbber:
+					if loader.has_work():
+						throbber(loader.status)
 					else:
-						self.ui.throbber(remove=True)
+						throbber(remove=True)
 
-				self.ui.redraw()
+				ui.redraw()
 
-				self.ui.set_load_mode(self.loader.has_work())
+				ui.set_load_mode(loader.has_work())
 
-				key = self.ui.get_next_key()
+				key = ui.get_next_key()
 
 				if key > 0:
 					if self.input_blocked and \
 							time() > self.input_blocked_until:
 						self.input_blocked = False
 					if not self.input_blocked:
-						self.ui.handle_key(key)
+						ui.handle_key(key)
 
 				gc_tick += 1
 				if gc_tick > TICKS_BEFORE_COLLECTING_GARBAGE:
 					gc_tick = 0
-					self.env.garbage_collect()
+					env.garbage_collect()
+
+		except KeyboardInterrupt:
+			# this only happens in --debug mode. By default, interrupts
+			# are caught in curses_interrupt_handler
+			raise SystemExit
 
 		finally:
-			self.bookmarks.remember(self.env.pwd)
-			self.bookmarks.save()
+			bookmarks.remember(env.cwd)
+			bookmarks.save()
diff --git a/ranger/runner.py b/ranger/core/runner.py
index 26424881..26424881 100644
--- a/ranger/runner.py
+++ b/ranger/core/runner.py
diff --git a/ranger/data/generate.py b/ranger/data/generate.py
deleted file mode 100755
index a0ed2b9b..00000000
--- a/ranger/data/generate.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/python
-# coding=utf-8
-#
-# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-if __name__ == '__main__':
-	import sys, pickle
-
-	protocol = 0
-	table = {}
-
-	for line in open(len(sys.argv) > 1 and sys.argv[1] or "mime.types"):
-		if len(line) > 3 and line[0] != '#' and ('\t' in line or ' ' in line):
-			name, *extensions = line.split()
-			for ext in extensions:
-				table[ext] = name
-
-	pickle.dump(table, open('mime.dat', 'wb'), protocol)
diff --git a/ranger/data/mime.dat b/ranger/data/mime.dat
deleted file mode 100644
index ddfca976..00000000
--- a/ranger/data/mime.dat
+++ /dev/null
@@ -1,1752 +0,0 @@
-(dp0
-Valc
-p1
-Vchemical/x-alchemy
-p2
-sVgf
-p3
-Vapplication/x-tex-gf
-p4
-sVmp4
-p5
-Vvideo/mp4
-p6
-sVmp2
-p7
-Vaudio/mpeg
-p8
-sVmp3
-p9
-g8
-sVnwc
-p10
-Vapplication/x-nwc
-p11
-sVsct
-p12
-Vtext/scriptlet
-p13
-sVros
-p14
-Vchemical/x-rosdal
-p15
-sVmng
-p16
-Vvideo/x-mng
-p17
-sVwmz
-p18
-Vapplication/x-ms-wmz
-p19
-sVwmx
-p20
-Vvideo/x-ms-wmx
-p21
-sVgcd
-p22
-Vtext/x-pcs-gcd
-p23
-sVtr
-p24
-Vapplication/x-troff
-p25
-sVts
-p26
-Vtext/texmacs
-p27
-sVtm
-p28
-g27
-sVtk
-p29
-Vtext/x-tcl
-p30
-sVwml
-p31
-Vtext/vnd.wap.wml
-p32
-sVwma
-p33
-Vaudio/x-ms-wma
-p34
-sVfchk
-p35
-Vchemical/x-gaussian-checkpoint
-p36
-sVwmd
-p37
-Vapplication/x-ms-wmd
-p38
-sVmpg
-p39
-Vvideo/mpeg
-p40
-sVcascii
-p41
-Vchemical/x-cactvs-binary
-p42
-sVmpe
-p43
-g40
-sVsmi
-p44
-Vapplication/smil
-p45
-sVmpv
-p46
-Vvideo/x-matroska
-p47
-sVwsc
-p48
-g13
-sVcml
-p49
-Vchemical/x-cml
-p50
-sVdif
-p51
-Vvideo/dv
-p52
-sVp
-p53
-Vtext/x-pascal
-p54
-sVpbm
-p55
-Vimage/x-portable-bitmap
-p56
-sVdir
-p57
-Vapplication/x-director
-p58
-sVhtc
-p59
-Vtext/x-component
-p60
-sVhta
-p61
-Vapplication/hta
-p62
-sVodp
-p63
-Vapplication/vnd.oasis.opendocument.presentation
-p64
-sVhtm
-p65
-Vtext/html
-p66
-sVnbp
-p67
-Vapplication/mathematica
-p68
-sVodt
-p69
-Vapplication/vnd.oasis.opendocument.text
-p70
-sVtex
-p71
-Vtext/x-tex
-p72
-sVodi
-p73
-Vapplication/vnd.oasis.opendocument.image
-p74
-sVodm
-p75
-Vapplication/vnd.oasis.opendocument.text-master
-p76
-sVoda
-p77
-Vapplication/oda
-p78
-sVodb
-p79
-Vapplication/vnd.oasis.opendocument.database
-p80
-sVodc
-p81
-Vapplication/vnd.oasis.opendocument.chart
-p82
-sVodf
-p83
-Vapplication/vnd.oasis.opendocument.formula
-p84
-sVodg
-p85
-Vapplication/vnd.oasis.opendocument.graphics
-p86
-sVgl
-p87
-Vvideo/gl
-p88
-sVrtx
-p89
-Vtext/richtext
-p90
-sVabw
-p91
-Vapplication/x-abiword
-p92
-sVoza
-p93
-Vapplication/x-oz-application
-p94
-sVasc
-p95
-Vtext/plain
-p96
-sVm3u
-p97
-Vaudio/x-mpegurl
-p98
-sVctx
-p99
-Vchemical/x-ctx
-p100
-sVcbin
-p101
-g42
-sVrdf
-p102
-Vapplication/rdf+xml
-p103
-sVboo
-p104
-Vtext/x-boo
-p105
-sVm3g
-p106
-Vapplication/m3g
-p107
-sVmaker
-p108
-Vapplication/x-maker
-p109
-sVwmv
-p110
-Vvideo/x-ms-wmv
-p111
-sVsgl
-p112
-Vapplication/vnd.stardivision.writer-global
-p113
-sVbrf
-p114
-g96
-sVtxt
-p115
-g96
-sVwbmp
-p116
-Vimage/vnd.wap.wbmp
-p117
-sVsgf
-p118
-Vapplication/x-go-sgf
-p119
-sVzip
-p120
-Vapplication/zip
-p121
-sVepsf
-p122
-Vapplication/postscript
-p123
-sVchm
-p124
-Vchemical/x-chemdraw
-p125
-sVmsi
-p126
-Vapplication/x-msi
-p127
-sVmsh
-p128
-Vmodel/mesh
-p129
-sVjmz
-p130
-Vapplication/x-jmol
-p131
-sVwvx
-p132
-Vvideo/x-ms-wvx
-p133
-sVpfb
-p134
-Vapplication/x-font
-p135
-sVflv
-p136
-Vvideo/x-flv
-p137
-sVflac
-p138
-Vaudio/flac
-p139
-sVwbxml
-p140
-Vapplication/vnd.wap.wbxml
-p141
-sViii
-p142
-Vapplication/x-iphone
-p143
-sVme
-p144
-Vapplication/x-troff-me
-p145
-sVmm
-p146
-Vapplication/x-freemind
-p147
-sVuls
-p148
-Vtext/iuls
-p149
-sVcap
-p150
-Vapplication/cap
-p151
-sVcat
-p152
-Vapplication/vnd.ms-pki.seccat
-p153
-sVfli
-p154
-Vvideo/fli
-p155
-sVjdx
-p156
-Vchemical/x-jcamp-dx
-p157
-sVms
-p158
-Vapplication/x-troff-ms
-p159
-sVxht
-p160
-Vapplication/xhtml+xml
-p161
-sVcac
-p162
-Vchemical/x-cache
-p163
-sVcab
-p164
-Vapplication/x-cab
-p165
-sVdeb
-p166
-Vapplication/x-debian-package
-p167
-sVeps2
-p168
-g123
-sVeps3
-p169
-g123
-sVspx
-p170
-Vaudio/ogg
-p171
-sVltx
-p172
-g72
-sVxcf
-p173
-Vapplication/x-xcf
-p174
-sVtar
-p175
-Vapplication/x-tar
-p176
-sVdxr
-p177
-g58
-sVtaz
-p178
-Vapplication/x-gtar
-p179
-sVspl
-p180
-Vapplication/x-futuresplash
-p181
-sVspc
-p182
-Vchemical/x-galactic-spc
-p183
-sVmpc
-p184
-Vchemical/x-mopac-input
-p185
-sVcsm
-p186
-Vchemical/x-csml
-p187
-sVchrt
-p188
-Vapplication/x-kchart
-p189
-sVcsh
-p190
-Vtext/x-csh
-p191
-sVgcg
-p192
-Vchemical/x-gcg8-sequence
-p193
-sVsit
-p194
-Vapplication/x-stuffit
-p195
-sVcsf
-p196
-Vchemical/x-cache-csf
-p197
-sVent
-p198
-Vchemical/x-pdb
-p199
-sVsid
-p200
-Vaudio/prs.sid
-p201
-sVsik
-p202
-Vapplication/x-trash
-p203
-sVxhtml
-p204
-g161
-sVcsv
-p205
-Vtext/csv
-p206
-sVcss
-p207
-Vtext/css
-p208
-sVsis
-p209
-Vapplication/vnd.symbian.install
-p210
-sVsnd
-p211
-Vaudio/basic
-p212
-sVmpega
-p213
-g8
-sVfb
-p214
-g109
-sVmesh
-p215
-g129
-sVfm
-p216
-g109
-sVman
-p217
-Vapplication/x-troff-man
-p218
-sVlha
-p219
-Vapplication/x-lha
-p220
-sVgcf
-p221
-Vapplication/x-graphing-calculator
-p222
-sVsw
-p223
-Vchemical/x-swissprot
-p224
-sVsh
-p225
-Vtext/x-sh
-p226
-sVlhs
-p227
-Vtext/x-literate-haskell
-p228
-sVsd
-p229
-Vchemical/x-mdl-sdfile
-p230
-sVlsf
-p231
-Vvideo/x-la-asf
-p232
-sVvmd
-p233
-Vchemical/x-vmd
-p234
-sVjpeg
-p235
-Vimage/jpeg
-p236
-sVjng
-p237
-Vimage/x-jng
-p238
-sVvms
-p239
-Vchemical/x-vamas-iso14976
-p240
-sVlsx
-p241
-g232
-sVpcx
-p242
-Vimage/pcx
-p243
-sVdjv
-p244
-Vimage/vnd.djvu
-p245
-sVwrl
-p246
-Vx-world/x-vrml
-p247
-sVqgs
-p248
-Vapplication/x-qgis
-p249
-sVhtml
-p250
-g66
-sVfig
-p251
-Vapplication/x-xfig
-p252
-sVtsv
-p253
-Vtext/tab-separated-values
-p254
-sVpcf
-p255
-g135
-sVtsp
-p256
-Vapplication/dsptype
-p257
-sVcls
-p258
-g72
-sVlzx
-p259
-Vapplication/x-lzx
-p260
-sVmxu
-p261
-Vvideo/vnd.mpegurl
-p262
-sVdat
-p263
-Vapplication/x-ns-proxy-autoconfig
-p264
-sVlzh
-p265
-Vapplication/x-lzh
-p266
-sVcer
-p267
-Vchemical/x-cerius
-p268
-sVhqx
-p269
-Vapplication/mac-binhex40
-p270
-sVkpr
-p271
-Vapplication/x-kpresenter
-p272
-sVkpt
-p273
-g272
-sVxlb
-p274
-Vapplication/vnd.ms-excel
-p275
-sVh
-p276
-Vtext/x-chdr
-p277
-sVxlt
-p278
-g275
-sVxls
-p279
-g275
-sVatomcat
-p280
-Vapplication/atomcat+xml
-p281
-sVmdb
-p282
-Vapplication/msaccess
-p283
-sVgtar
-p284
-g179
-sVez
-p285
-Vapplication/andrew-inset
-p286
-sVes
-p287
-Vapplication/ecmascript
-p288
-sVvcd
-p289
-Vapplication/x-cdlink
-p290
-sVvcf
-p291
-Vtext/x-vcard
-p292
-sVrd
-p293
-Vchemical/x-mdl-rdfile
-p294
-sVvcs
-p295
-Vtext/x-vcalendar
-p296
-sVra
-p297
-Vaudio/x-realaudio
-p298
-sVrb
-p299
-Vapplication/x-ruby
-p300
-sVrm
-p301
-Vaudio/x-pn-realaudio
-p302
-sVasx
-p303
-Vvideo/x-ms-asf
-p304
-sVgnumeric
-p305
-Vapplication/x-gnumeric
-p306
-sVmml
-p307
-Vtext/mathml
-p308
-sVasf
-p309
-g304
-sVmmd
-p310
-Vchemical/x-macromodel-input
-p311
-sVmmf
-p312
-Vapplication/vnd.smaf
-p313
-sVaso
-p314
-Vchemical/x-ncbi-asn1-binary
-p315
-sVasn
-p316
-Vchemical/x-ncbi-asn1-spec
-p317
-sVcxx
-p318
-Vtext/x-c++src
-p319
-sVxpm
-p320
-Vimage/x-xpixmap
-p321
-sVmidi
-p322
-Vaudio/midi
-p323
-sVc3d
-p324
-Vchemical/x-chem3d
-p325
-sVisp
-p326
-Vapplication/x-internet-signup
-p327
-sVswfl
-p328
-Vapplication/x-shockwave-flash
-p329
-sVist
-p330
-Vchemical/x-isostar
-p331
-sVmvb
-p332
-Vchemical/x-mopac-vib
-p333
-sViso
-p334
-Vapplication/x-iso9660-image
-p335
-sVxul
-p336
-Vapplication/vnd.mozilla.xul+xml
-p337
-sVpgn
-p338
-Vapplication/x-chess-pgn
-p339
-sVpgm
-p340
-Vimage/x-portable-graymap
-p341
-sVpgp
-p342
-Vapplication/pgp-signature
-p343
-sVmkv
-p344
-Vvideo/mkv
-p345
-sVgpt
-p346
-Vchemical/x-mopac-graph
-p347
-sVphtml
-p348
-Vapplication/x-httpd-php
-p349
-sVods
-p350
-Vapplication/vnd.oasis.opendocument.spreadsheet
-p351
-sVogx
-p352
-Vapplication/ogg
-p353
-sVwax
-p354
-Vaudio/x-ms-wax
-p355
-sVpnm
-p356
-Vimage/x-portable-anymap
-p357
-sVcmdf
-p358
-Vchemical/x-cmdf
-p359
-sVoga
-p360
-g171
-sVpng
-p361
-Vimage/png
-p362
-sVrss
-p363
-Vapplication/rss+xml
-p364
-sVstd
-p365
-Vapplication/vnd.sun.xml.draw.template
-p366
-sVb
-p367
-Vchemical/x-molconn-Z
-p368
-sVstc
-p369
-Vapplication/vnd.sun.xml.calc.template
-p370
-sVstl
-p371
-Vapplication/vnd.ms-pki.stl
-p372
-sVogg
-p373
-g171
-sVmcif
-p374
-Vchemical/x-mmcif
-p375
-sVstw
-p376
-Vapplication/vnd.sun.xml.writer.template
-p377
-sVtorrent
-p378
-Vapplication/x-bittorrent
-p379
-sVprf
-p380
-Vapplication/pics-rules
-p381
-sVphp3p
-p382
-Vapplication/x-httpd-php3-preprocessed
-p383
-sVram
-p384
-g302
-sVprt
-p385
-Vchemical/x-ncbi-asn1-ascii
-p386
-sVrar
-p387
-Vapplication/rar
-p388
-sVras
-p389
-Vimage/x-cmu-raster
-p390
-sVanx
-p391
-Vapplication/annodex
-p392
-sV7z
-p393
-Vapplication/x-7z-compressed
-p394
-sVshtml
-p395
-g66
-sVlin
-p396
-Vapplication/bbolin
-p397
-sVmid
-p398
-g323
-sVmif
-p399
-Vapplication/x-mif
-p400
-sV323
-p401
-Vtext/h323
-p402
-sVistr
-p403
-g331
-sVcsml
-p404
-g187
-sVogv
-p405
-Vvideo/ogg
-p406
-sVzmt
-p407
-g185
-sVkar
-p408
-g323
-sVmpeg
-p409
-g40
-sVsisx
-p410
-Vx-epoc/x-sisx-app
-p411
-sVpyo
-p412
-Vapplication/x-python-code
-p413
-sVfch
-p414
-g36
-sVpyc
-p415
-g413
-sVawb
-p416
-Vaudio/amr-wb
-p417
-sVcc
-p418
-g319
-sVfbdoc
-p419
-g109
-sVlatex
-p420
-Vapplication/x-latex
-p421
-sVexe
-p422
-Vapplication/x-msdos-program
-p423
-sVaxv
-p424
-Vvideo/annodex
-p425
-sVdoc
-p426
-Vapplication/msword
-p427
-sVwmlsc
-p428
-Vapplication/vnd.wap.wmlscriptc
-p429
-sVhh
-p430
-Vtext/x-c++hdr
-p431
-sVaxa
-p432
-Vaudio/annodex
-p433
-sVdot
-p434
-g427
-sVcdf
-p435
-Vapplication/x-cdf
-p436
-sVrtf
-p437
-Vapplication/rtf
-p438
-sVctab
-p439
-g42
-sVcda
-p440
-g436
-sVtext
-p441
-g96
-sVsdc
-p442
-Vapplication/vnd.stardivision.calc
-p443
-sVcdt
-p444
-Vimage/x-coreldrawtemplate
-p445
-sVtexi
-p446
-Vapplication/x-texinfo
-p447
-sVcdr
-p448
-Vimage/x-coreldraw
-p449
-sVcdx
-p450
-Vchemical/x-cdx
-p451
-sVcdy
-p452
-Vapplication/vnd.cinderella
-p453
-sVxml
-p454
-Vapplication/xml
-p455
-sVksp
-p456
-Vapplication/x-kspread
-p457
-sVcache
-p458
-g163
-sVjar
-p459
-Vapplication/java-archive
-p460
-sVjam
-p461
-Vapplication/x-jam
-p462
-sVjad
-p463
-Vtext/vnd.sun.j2me.app-descriptor
-p464
-sVief
-p465
-Vimage/ief
-p466
-sVdl
-p467
-Vvideo/dl
-p468
-sVcpio
-p469
-Vapplication/x-cpio
-p470
-sVdx
-p471
-g157
-sVdv
-p472
-g52
-sVgen
-p473
-Vchemical/x-genbank
-p474
-sVhin
-p475
-Vchemical/x-hin
-p476
-sVsilo
-p477
-g129
-sVshp
-p478
-g249
-sVbat
-p479
-g423
-sVqt
-p480
-Vvideo/quicktime
-p481
-sVcrt
-p482
-Vapplication/x-x509-ca-cert
-p483
-sVemb
-p484
-Vchemical/x-embl-dl-nucleotide
-p485
-sVshx
-p486
-g249
-sVeml
-p487
-Vmessage/rfc822
-p488
-sVc++
-p489
-g319
-sVpatch
-p490
-Vtext/x-diff
-p491
-sVbak
-p492
-g203
-sVcrl
-p493
-Vapplication/x-pkcs7-crl
-p494
-sVespi
-p495
-g123
-sVart
-p496
-Vimage/x-jg
-p497
-sVser
-p498
-Vapplication/java-serialized-object
-p499
-sVframe
-p500
-g109
-sVsti
-p501
-Vapplication/vnd.sun.xml.impress.template
-p502
-sVqtl
-p503
-Vapplication/x-quicktimeplayer
-p504
-sVmovie
-p505
-Vvideo/x-sgi-movie
-p506
-sVdll
-p507
-g423
-sVwm
-p508
-Vvideo/x-ms-wm
-p509
-sVwk
-p510
-Vapplication/x-123
-p511
-sVjs
-p512
-Vapplication/javascript
-p513
-sVkey
-p514
-Vapplication/pgp-keys
-p515
-sVsv4crc
-p516
-Vapplication/x-sv4crc
-p517
-sVpcap
-p518
-g151
-sVwz
-p519
-Vapplication/x-wingz
-p520
-sVvrm
-p521
-g247
-sVc
-p522
-Vtext/x-csrc
-p523
-sVetx
-p524
-Vtext/x-setext
-p525
-sVsty
-p526
-g72
-sVcod
-p527
-Vapplication/vnd.rim.cod
-p528
-sVpdf
-p529
-Vapplication/pdf
-p530
-sVcom
-p531
-g423
-sVpdb
-p532
-g199
-sVxspf
-p533
-Vapplication/xspf+xml
-p534
-sVroff
-p535
-g25
-sVtgz
-p536
-g179
-sVpot
-p537
-g96
-sVtgf
-p538
-Vchemical/x-mdl-tgf
-p539
-sVkwt
-p540
-Vapplication/x-kword
-p541
-sVcxf
-p542
-Vchemical/x-cxf
-p543
-sVsxd
-p544
-Vapplication/vnd.sun.xml.draw
-p545
-sVrpm
-p546
-Vapplication/x-redhat-package-manager
-p547
-sVcu
-p548
-Vapplication/cu-seeme
-p549
-sVjnlp
-p550
-Vapplication/x-java-jnlp-file
-p551
-sVps
-p552
-g123
-sVmpga
-p553
-g8
-sViges
-p554
-Vmodel/iges
-p555
-sVpy
-p556
-Vtext/x-python
-p557
-sVfrm
-p558
-g109
-sVswf
-p559
-g329
-sVpk
-p560
-Vapplication/x-tex-pk
-p561
-sVpl
-p562
-Vtext/x-perl
-p563
-sVpm
-p564
-g563
-sVoth
-p565
-Vapplication/vnd.oasis.opendocument.text-web
-p566
-sVmcm
-p567
-Vchemical/x-macmolecule
-p568
-sVlyx
-p569
-Vapplication/x-lyx
-p570
-sVgau
-p571
-Vchemical/x-gaussian-input
-p572
-sVotg
-p573
-Vapplication/vnd.oasis.opendocument.graphics-template
-p574
-sVgam
-p575
-Vchemical/x-gamess-input
-p576
-sVgal
-p577
-Vchemical/x-gaussian-log
-p578
-sVotp
-p579
-Vapplication/vnd.oasis.opendocument.presentation-template
-p580
-sVots
-p581
-Vapplication/vnd.oasis.opendocument.spreadsheet-template
-p582
-sVott
-p583
-Vapplication/vnd.oasis.opendocument.text-template
-p584
-sVmopcrt
-p585
-g185
-sVhdf
-p586
-Vapplication/x-hdf
-p587
-sVatomsrv
-p588
-Vapplication/atomserv+xml
-p589
-sVaif
-p590
-Vaudio/x-aiff
-p591
-sV~
-p592
-g203
-sVsvgz
-p593
-Vimage/svg+xml
-p594
-sVcef
-p595
-g543
-sVwp5
-p596
-Vapplication/vnd.wordperfect5.1
-p597
-sVjpe
-p598
-g236
-sVjpg
-p599
-g236
-sVsitx
-p600
-g195
-sVavi
-p601
-Vvideo/x-msvideo
-p602
-sVtexinfo
-p603
-g447
-sVshar
-p604
-Vapplication/x-shar
-p605
-sVpas
-p606
-g54
-sVpat
-p607
-Vimage/x-coreldrawpattern
-p608
-sVpac
-p609
-g264
-sVhxx
-p610
-g431
-sV3gp
-p611
-Vvideo/3gpp
-p612
-sVkin
-p613
-Vchemical/x-kinemage
-p614
-sVkil
-p615
-Vapplication/x-killustrator
-p616
-sVwpd
-p617
-Vapplication/vnd.wordperfect
-p618
-sVigs
-p619
-g555
-sVphp
-p620
-g349
-sVpht
-p621
-g349
-sVgamin
-p622
-g576
-sVwmls
-p623
-Vtext/vnd.wap.wmlscript
-p624
-sVeps
-p625
-g123
-sVgsf
-p626
-g135
-sVwmlc
-p627
-Vapplication/vnd.wap.wmlc
-p628
-sVgsm
-p629
-Vaudio/x-gsm
-p630
-sVhpp
-p631
-g431
-sVaiff
-p632
-g591
-sVdavmount
-p633
-Vapplication/davmount+xml
-p634
-sVaifc
-p635
-g591
-sVtcl
-p636
-g30
-sVbcpio
-p637
-Vapplication/x-bcpio
-p638
-sVkwd
-p639
-g541
-sVskt
-p640
-Vapplication/x-koan
-p641
-sVskp
-p642
-g641
-sVskd
-p643
-g641
-sVrgb
-p644
-Vimage/x-rgb
-p645
-sVcub
-p646
-Vchemical/x-gaussian-cube
-p647
-sVskm
-p648
-g641
-sVm4a
-p649
-g8
-sVbin
-p650
-Vapplication/octet-stream
-p651
-sVembl
-p652
-g485
-sVmop
-p653
-g185
-sVbib
-p654
-Vtext/x-bibtex
-p655
-sVmov
-p656
-g481
-sVpsd
-p657
-Vimage/x-photoshop
-p658
-sVmoo
-p659
-Vchemical/x-mopac-out
-p660
-sVmol
-p661
-Vchemical/x-mdl-molfile
-p662
-sVmoc
-p663
-Vtext/x-moc
-p664
-sVamr
-p665
-Vaudio/amr
-p666
-sVustar
-p667
-Vapplication/x-ustar
-p668
-sVd
-p669
-Vtext/x-dsrc
-p670
-sVt
-p671
-g25
-sVxsd
-p672
-g455
-sVgjf
-p673
-g572
-sVvrml
-p674
-g247
-sVgjc
-p675
-g572
-sVxsl
-p676
-g455
-sVold
-p677
-g203
-sVvsd
-p678
-Vapplication/vnd.visio
-p679
-sVdiff
-p680
-g491
-sVudeb
-p681
-g167
-sVico
-p682
-Vimage/x-icon
-p683
-sVscala
-p684
-Vtext/x-scala
-p685
-sVica
-p686
-Vapplication/x-ica
-p687
-sVkml
-p688
-Vapplication/vnd.google-earth.kml+xml
-p689
-sVice
-p690
-Vx-conference/x-cooltalk
-p691
-sVicz
-p692
-Vtext/calendar
-p693
-sVics
-p694
-g693
-sVxtel
-p695
-Vchemical/x-xtel
-p696
-sVkmz
-p697
-Vapplication/vnd.google-earth.kmz
-p698
-sVpls
-p699
-Vaudio/x-scpls
-p700
-sVmmod
-p701
-g311
-sVjava
-p702
-Vtext/x-java
-p703
-sVdcr
-p704
-g58
-sVsrc
-p705
-Vapplication/x-wais-source
-p706
-sVo
-p707
-Vapplication/x-object
-p708
-sVsd2
-p709
-Vaudio/x-sd2
-p710
-sVtiff
-p711
-Vimage/tiff
-p712
-sVxyz
-p713
-Vchemical/x-xyz
-p714
-sVppm
-p715
-Vimage/x-portable-pixmap
-p716
-sVpps
-p717
-Vapplication/vnd.ms-powerpoint
-p718
-sVbsd
-p719
-Vchemical/x-crossfire
-p720
-sVppt
-p721
-g718
-sVdjvu
-p722
-g245
-sVxpi
-p723
-Vapplication/x-xpinstall
-p724
-sVval
-p725
-g315
-sVwad
-p726
-Vapplication/x-doom
-p727
-sVclass
-p728
-Vapplication/java-vm
-p729
-sVgif
-p730
-Vimage/gif
-p731
-sVsmil
-p732
-g45
-sVwav
-p733
-Vaudio/x-wav
-p734
-sVrhtml
-p735
-Vapplication/x-httpd-eruby
-p736
-sVsdw
-p737
-Vapplication/vnd.stardivision.writer
-p738
-sVsds
-p739
-Vapplication/vnd.stardivision.chart
-p740
-sVhs
-p741
-Vtext/x-haskell
-p742
-sVsdd
-p743
-Vapplication/vnd.stardivision.impress
-p744
-sVsdf
-p745
-g230
-sVsda
-p746
-Vapplication/vnd.stardivision.draw
-p747
-sVatom
-p748
-Vapplication/atom+xml
-p749
-sVsv4cpio
-p750
-Vapplication/x-sv4cpio
-p751
-sVinfo
-p752
-Vapplication/x-info
-p753
-sVcif
-p754
-Vchemical/x-cif
-p755
-sVdmg
-p756
-Vapplication/x-apple-diskimage
-p757
-sVdms
-p758
-Vapplication/x-dms
-p759
-sVsvg
-p760
-g594
-sVxwd
-p761
-Vimage/x-xwindowdump
-p762
-sVpfa
-p763
-g135
-sVsxc
-p764
-Vapplication/vnd.sun.xml.calc
-p765
-sVp7r
-p766
-Vapplication/x-pkcs7-certreqresp
-p767
-sVsxg
-p768
-Vapplication/vnd.sun.xml.writer.global
-p769
-sVai
-p770
-g123
-sVsxi
-p771
-Vapplication/vnd.sun.xml.impress
-p772
-sVinp
-p773
-g576
-sVsxm
-p774
-Vapplication/vnd.sun.xml.math
-p775
-sVins
-p776
-g327
-sVcbr
-p777
-Vapplication/x-cbr
-p778
-sVau
-p779
-g212
-sVsxw
-p780
-Vapplication/vnd.sun.xml.writer
-p781
-sVcbz
-p782
-Vapplication/x-cbz
-p783
-sV%
-p784
-g203
-sVnb
-p785
-g68
-sVnc
-p786
-Vapplication/x-netcdf
-p787
-sVbook
-p788
-g109
-sVphp4
-p789
-Vapplication/x-httpd-php4
-p790
-sVtif
-p791
-g712
-sVphp3
-p792
-Vapplication/x-httpd-php3
-p793
-sVmol2
-p794
-Vchemical/x-mol2
-p795
-sVh++
-p796
-g431
-sVdvi
-p797
-Vapplication/x-dvi
-p798
-sVpcf.Z
-p799
-g135
-sVrxn
-p800
-Vchemical/x-mdl-rxnfile
-p801
-sVcpa
-p802
-Vchemical/x-compass
-p803
-sVbmp
-p804
-Vimage/x-ms-bmp
-p805
-sVxbm
-p806
-Vimage/x-xbitmap
-p807
-sVcpp
-p808
-g319
-sVcpt
-p809
-Vimage/x-corelphotopaint
-p810
-sVphps
-p811
-Vapplication/x-httpd-php-source
-p812
-s.
\ No newline at end of file
diff --git a/ranger/data/mime.types b/ranger/data/mime.types
index 866db2c2..c8fa5243 100644
--- a/ranger/data/mime.types
+++ b/ranger/data/mime.types
@@ -2,768 +2,19 @@
 #
 #  MIME-TYPES and the extensions that represent them
 #
-#  This file is part of the "mime-support" package.  Please send email (not a
-#  bug report) to mime-support@packages.debian.org if you would like new types
-#  and/or extensions to be added.
-#
-#  The reason that all types are managed by the mime-support package instead
-#  allowing individual packages to install types in much the same way as they
-#  add entries in to the mailcap file is so these types can be referenced by
-#  other programs (such as a web server) even if the specific support package
-#  for that type is not installed.
-#
-#  Users can add their own types if they wish by creating a ".mime.types"
-#  file in their home directory.  Definitions included there will take
-#  precedence over those listed here.
-#
-#  Note: Compression schemes like "gzip", "bzip", and "compress" are not
-#  actually "mime-types".  They are "encodings" and hence must _not_ have
-#  entries in this file to map their extensions.  The "mime-type" of an
-#  encoded file refers to the type of data that has been encoded, not the
-#  type of encoding.
+#  This file contains additional mimetypes which I think ranger should have
+#  by default.  You can also use ~/.mime.types to add own types.
 #
+#  Mimetypes are used for colorschemes and the builtin filetype detection
+#  to execute files with the right program.
+# 
 ###############################################################################
 
-
-application/activemessage
-application/andrew-inset			ez
-application/annodex				anx
-application/applefile
-application/atom+xml				atom
-application/atomcat+xml				atomcat
-application/atomserv+xml			atomsrv
-application/atomicmail
-application/batch-SMTP
-application/beep+xml
-application/bbolin				lin
-application/cals-1840
-application/cap					cap pcap
-application/commonground
-application/cu-seeme				cu
-application/cybercash
-application/davmount+xml			davmount
-application/dca-rft
-application/dec-dx
-application/docbook+xml
-application/dsptype				tsp
-application/dvcs
-application/ecmascript				es
-application/edi-consent
-application/edi-x12
-application/edifact
-application/eshop
-application/font-tdpfr
-application/futuresplash			spl
-application/ghostview
-application/hta					hta
-application/http
-application/hyperstudio
-application/iges
-application/index
-application/index.cmd
-application/index.obj
-application/index.response
-application/index.vnd
-application/iotp
-application/ipp
-application/isup
-application/java-archive			jar
-application/java-serialized-object		ser
-application/java-vm				class
-application/javascript				js
-application/m3g					m3g
-application/mac-binhex40			hqx
-application/mac-compactpro			cpt
-application/macwriteii
-application/marc
-application/mathematica				nb nbp
-application/ms-tnef
-application/msaccess				mdb
-application/msword				doc dot
-application/news-message-id
-application/news-transmission
-application/ocsp-request
-application/ocsp-response
-application/octet-stream			bin
-application/oda					oda
-application/ogg					ogx
-application/parityfec
-application/pdf					pdf
-application/pgp-encrypted
-application/pgp-keys				key
-application/pgp-signature			pgp
-application/pics-rules				prf
-application/pkcs10
-application/pkcs7-mime
-application/pkcs7-signature
-application/pkix-cert
-application/pkix-crl
-application/pkixcmp
-application/postscript				ps ai eps espi epsf eps2 eps3
-application/prs.alvestrand.titrax-sheet
-application/prs.cww
-application/prs.nprend
-application/qsig
-application/rar					rar
-application/rdf+xml				rdf
-application/remote-printing
-application/riscos
-application/rss+xml				rss
-application/rtf					rtf
-application/sdp
-application/set-payment
-application/set-payment-initiation
-application/set-registration
-application/set-registration-initiation
-application/sgml
-application/sgml-open-catalog
-application/sieve
-application/slate
-application/smil				smi smil
-application/timestamp-query
-application/timestamp-reply
-application/vemmi
-application/whoispp-query
-application/whoispp-response
-application/wita
-application/x400-bp
-application/xhtml+xml				xhtml xht
-application/xml					xml xsl xsd
-application/xml-dtd
-application/xml-external-parsed-entity
-application/xspf+xml				xspf
-application/zip					zip
-application/vnd.3M.Post-it-Notes
-application/vnd.accpac.simply.aso
-application/vnd.accpac.simply.imp
-application/vnd.acucobol
-application/vnd.aether.imp
-application/vnd.anser-web-certificate-issue-initiation
-application/vnd.anser-web-funds-transfer-initiation
-application/vnd.audiograph
-application/vnd.bmi
-application/vnd.businessobjects
-application/vnd.canon-cpdl
-application/vnd.canon-lips
-application/vnd.cinderella			cdy
-application/vnd.claymore
-application/vnd.commerce-battelle
-application/vnd.commonspace
-application/vnd.comsocaller
-application/vnd.contact.cmsg
-application/vnd.cosmocaller
-application/vnd.ctc-posml
-application/vnd.cups-postscript
-application/vnd.cups-raster
-application/vnd.cups-raw
-application/vnd.cybank
-application/vnd.dna
-application/vnd.dpgraph
-application/vnd.dxr
-application/vnd.ecdis-update
-application/vnd.ecowin.chart
-application/vnd.ecowin.filerequest
-application/vnd.ecowin.fileupdate
-application/vnd.ecowin.series
-application/vnd.ecowin.seriesrequest
-application/vnd.ecowin.seriesupdate
-application/vnd.enliven
-application/vnd.epson.esf
-application/vnd.epson.msf
-application/vnd.epson.quickanime
-application/vnd.epson.salt
-application/vnd.epson.ssf
-application/vnd.ericsson.quickcall
-application/vnd.eudora.data
-application/vnd.fdf
-application/vnd.ffsns
-application/vnd.flographit
-application/vnd.framemaker
-application/vnd.fsc.weblaunch
-application/vnd.fujitsu.oasys
-application/vnd.fujitsu.oasys2
-application/vnd.fujitsu.oasys3
-application/vnd.fujitsu.oasysgp
-application/vnd.fujitsu.oasysprs
-application/vnd.fujixerox.ddd
-application/vnd.fujixerox.docuworks
-application/vnd.fujixerox.docuworks.binder
-application/vnd.fut-misnet
-application/vnd.google-earth.kml+xml		kml
-application/vnd.google-earth.kmz		kmz
-application/vnd.grafeq
-application/vnd.groove-account
-application/vnd.groove-identity-message
-application/vnd.groove-injector
-application/vnd.groove-tool-message
-application/vnd.groove-tool-template
-application/vnd.groove-vcard
-application/vnd.hhe.lesson-player
-application/vnd.hp-HPGL
-application/vnd.hp-PCL
-application/vnd.hp-PCLXL
-application/vnd.hp-hpid
-application/vnd.hp-hps
-application/vnd.httphone
-application/vnd.hzn-3d-crossword
-application/vnd.ibm.MiniPay
-application/vnd.ibm.afplinedata
-application/vnd.ibm.modcap
-application/vnd.informix-visionary
-application/vnd.intercon.formnet
-application/vnd.intertrust.digibox
-application/vnd.intertrust.nncp
-application/vnd.intu.qbo
-application/vnd.intu.qfx
-application/vnd.irepository.package+xml
-application/vnd.is-xpr
-application/vnd.japannet-directory-service
-application/vnd.japannet-jpnstore-wakeup
-application/vnd.japannet-payment-wakeup
-application/vnd.japannet-registration
-application/vnd.japannet-registration-wakeup
-application/vnd.japannet-setstore-wakeup
-application/vnd.japannet-verification
-application/vnd.japannet-verification-wakeup
-application/vnd.koan
-application/vnd.lotus-1-2-3
-application/vnd.lotus-approach
-application/vnd.lotus-freelance
-application/vnd.lotus-notes
-application/vnd.lotus-organizer
-application/vnd.lotus-screencam
-application/vnd.lotus-wordpro
-application/vnd.mcd
-application/vnd.mediastation.cdkey
-application/vnd.meridian-slingshot
-application/vnd.mif
-application/vnd.minisoft-hp3000-save
-application/vnd.mitsubishi.misty-guard.trustweb
-application/vnd.mobius.daf
-application/vnd.mobius.dis
-application/vnd.mobius.msl
-application/vnd.mobius.plc
-application/vnd.mobius.txf
-application/vnd.motorola.flexsuite
-application/vnd.motorola.flexsuite.adsi
-application/vnd.motorola.flexsuite.fis
-application/vnd.motorola.flexsuite.gotap
-application/vnd.motorola.flexsuite.kmr
-application/vnd.motorola.flexsuite.ttc
-application/vnd.motorola.flexsuite.wem
-application/vnd.mozilla.xul+xml			xul
-application/vnd.ms-artgalry
-application/vnd.ms-asf
-application/vnd.ms-excel			xls xlb xlt
-application/vnd.ms-lrm
-application/vnd.ms-pki.seccat			cat
-application/vnd.ms-pki.stl			stl
-application/vnd.ms-powerpoint			ppt pps
-application/vnd.ms-project
-application/vnd.ms-tnef
-application/vnd.ms-works
-application/vnd.mseq
-application/vnd.msign
-application/vnd.music-niff
-application/vnd.musician
-application/vnd.netfpx
-application/vnd.noblenet-directory
-application/vnd.noblenet-sealer
-application/vnd.noblenet-web
-application/vnd.novadigm.EDM
-application/vnd.novadigm.EDX
-application/vnd.novadigm.EXT
-application/vnd.oasis.opendocument.chart			odc
-application/vnd.oasis.opendocument.database			odb
-application/vnd.oasis.opendocument.formula			odf
-application/vnd.oasis.opendocument.graphics			odg
-application/vnd.oasis.opendocument.graphics-template		otg
-application/vnd.oasis.opendocument.image			odi
-application/vnd.oasis.opendocument.presentation			odp
-application/vnd.oasis.opendocument.presentation-template	otp
-application/vnd.oasis.opendocument.spreadsheet			ods
-application/vnd.oasis.opendocument.spreadsheet-template		ots
-application/vnd.oasis.opendocument.text				odt
-application/vnd.oasis.opendocument.text-master			odm
-application/vnd.oasis.opendocument.text-template		ott
-application/vnd.oasis.opendocument.text-web			oth
-application/vnd.osa.netdeploy
-application/vnd.palm
-application/vnd.pg.format
-application/vnd.pg.osasli
-application/vnd.powerbuilder6
-application/vnd.powerbuilder6-s
-application/vnd.powerbuilder7
-application/vnd.powerbuilder7-s
-application/vnd.powerbuilder75
-application/vnd.powerbuilder75-s
-application/vnd.previewsystems.box
-application/vnd.publishare-delta-tree
-application/vnd.pvi.ptid1
-application/vnd.pwg-xhtml-print+xml
-application/vnd.rapid
-application/vnd.rim.cod				cod
-application/vnd.s3sms
-application/vnd.seemail
-application/vnd.shana.informed.formdata
-application/vnd.shana.informed.formtemplate
-application/vnd.shana.informed.interchange
-application/vnd.shana.informed.package
-application/vnd.smaf				mmf
-application/vnd.sss-cod
-application/vnd.sss-dtf
-application/vnd.sss-ntf
-application/vnd.stardivision.calc		sdc
-application/vnd.stardivision.chart		sds
-application/vnd.stardivision.draw		sda
-application/vnd.stardivision.impress		sdd
-application/vnd.stardivision.math		sdf
-application/vnd.stardivision.writer		sdw
-application/vnd.stardivision.writer-global	sgl
-application/vnd.street-stream
-application/vnd.sun.xml.calc			sxc
-application/vnd.sun.xml.calc.template		stc
-application/vnd.sun.xml.draw			sxd
-application/vnd.sun.xml.draw.template		std
-application/vnd.sun.xml.impress			sxi
-application/vnd.sun.xml.impress.template	sti
-application/vnd.sun.xml.math			sxm
-application/vnd.sun.xml.writer			sxw
-application/vnd.sun.xml.writer.global		sxg
-application/vnd.sun.xml.writer.template		stw
-application/vnd.svd
-application/vnd.swiftview-ics
-application/vnd.symbian.install			sis
-application/vnd.triscape.mxs
-application/vnd.trueapp
-application/vnd.truedoc
-application/vnd.tve-trigger
-application/vnd.ufdl
-application/vnd.uplanet.alert
-application/vnd.uplanet.alert-wbxml
-application/vnd.uplanet.bearer-choice
-application/vnd.uplanet.bearer-choice-wbxml
-application/vnd.uplanet.cacheop
-application/vnd.uplanet.cacheop-wbxml
-application/vnd.uplanet.channel
-application/vnd.uplanet.channel-wbxml
-application/vnd.uplanet.list
-application/vnd.uplanet.list-wbxml
-application/vnd.uplanet.listcmd
-application/vnd.uplanet.listcmd-wbxml
-application/vnd.uplanet.signal
-application/vnd.vcx
-application/vnd.vectorworks
-application/vnd.vidsoft.vidconference
-application/vnd.visio				vsd
-application/vnd.vividence.scriptfile
-application/vnd.wap.sic
-application/vnd.wap.slc
-application/vnd.wap.wbxml			wbxml
-application/vnd.wap.wmlc			wmlc
-application/vnd.wap.wmlscriptc			wmlsc
-application/vnd.webturbo
-application/vnd.wordperfect			wpd
-application/vnd.wordperfect5.1			wp5
-application/vnd.wrq-hp3000-labelled
-application/vnd.wt.stf
-application/vnd.xara
-application/vnd.xfdl
-application/vnd.yellowriver-custom-menu
-application/x-123				wk
-application/x-7z-compressed			7z
-application/x-abiword				abw
-application/x-apple-diskimage			dmg
-application/x-bcpio				bcpio
-application/x-bittorrent			torrent
-application/x-cab				cab
-application/x-cbr				cbr
-application/x-cbz				cbz
-application/x-cdf				cdf cda
-application/x-cdlink				vcd
-application/x-chess-pgn				pgn
-application/x-core
-application/x-cpio				cpio
-application/x-csh				csh
-application/x-debian-package			deb udeb
-application/x-director				dcr dir dxr
-application/x-dms				dms
-application/x-doom				wad
-application/x-dvi				dvi
-application/x-httpd-eruby			rhtml
-application/x-executable
-application/x-font				pfa pfb gsf pcf pcf.Z
-application/x-freemind				mm
-application/x-futuresplash			spl
-application/x-gnumeric				gnumeric
-application/x-go-sgf				sgf
-application/x-graphing-calculator		gcf
-application/x-gtar				gtar tgz taz
-application/x-hdf				hdf
-application/x-httpd-php				phtml pht php
-application/x-httpd-php-source			phps
-application/x-httpd-php3			php3
-application/x-httpd-php3-preprocessed		php3p
-application/x-httpd-php4			php4
-application/x-ica				ica
-application/x-info				info
-application/x-internet-signup			ins isp
-application/x-iphone				iii
-application/x-iso9660-image			iso
-application/x-jam				jam
-application/x-java-applet
-application/x-java-bean
-application/x-java-jnlp-file			jnlp
-application/x-jmol				jmz
-application/x-kchart				chrt
-application/x-kdelnk
-application/x-killustrator			kil
-application/x-koan				skp skd skt skm
-application/x-kpresenter			kpr kpt
-application/x-kspread				ksp
-application/x-kword				kwd kwt
-application/x-latex				latex
-application/x-lha				lha
-application/x-lyx				lyx
-application/x-lzh				lzh
-application/x-lzx				lzx
-application/x-maker				frm maker frame fm fb book fbdoc
-application/x-mif				mif
-application/x-ms-wmd				wmd
-application/x-ms-wmz				wmz
-application/x-msdos-program			com exe bat dll
-application/x-msi				msi
-application/x-netcdf				nc
-application/x-ns-proxy-autoconfig		pac dat
-application/x-nwc				nwc
-application/x-object				o
-application/x-oz-application			oza
-application/x-pkcs7-certreqresp			p7r
-application/x-pkcs7-crl				crl
-application/x-python-code			pyc pyo
-application/x-qgis				qgs shp shx
-application/x-quicktimeplayer			qtl
-application/x-redhat-package-manager		rpm
-application/x-ruby				rb
-application/x-rx
-application/x-sh				sh
-application/x-shar				shar
-application/x-shellscript
-application/x-shockwave-flash			swf swfl
-application/x-stuffit				sit sitx
-application/x-sv4cpio				sv4cpio
-application/x-sv4crc				sv4crc
-application/x-tar				tar
-application/x-tcl				tcl
-application/x-tex-gf				gf
-application/x-tex-pk				pk
-application/x-texinfo				texinfo texi
-application/x-trash				~ % bak old sik
-application/x-troff				t tr roff
-application/x-troff-man				man
-application/x-troff-me				me
-application/x-troff-ms				ms
-application/x-ustar				ustar
-application/x-videolan
-application/x-wais-source			src
-application/x-wingz				wz
-application/x-x509-ca-cert			crt
-application/x-xcf				xcf
-application/x-xfig				fig
-application/x-xpinstall				xpi
-
-audio/32kadpcm
-audio/3gpp
-audio/amr					amr
-audio/amr-wb					awb
-audio/amr					amr
-audio/amr-wb					awb
-audio/annodex					axa
-audio/basic					au snd
 audio/flac					flac
-audio/g.722.1
-audio/l16
-audio/midi					mid midi kar
-audio/mp4a-latm
-audio/mpa-robust
-audio/mpeg					mpga mpega mp2 mp3 m4a
-audio/mpegurl					m3u
+audio/musepack					mpc mpp mp+
 audio/ogg					oga ogg spx
-audio/parityfec
-audio/prs.sid					sid
-audio/telephone-event
-audio/tone
-audio/vnd.cisco.nse
-audio/vnd.cns.anp1
-audio/vnd.cns.inf1
-audio/vnd.digital-winds
-audio/vnd.everad.plj
-audio/vnd.lucent.voice
-audio/vnd.nortel.vbk
-audio/vnd.nuera.ecelp4800
-audio/vnd.nuera.ecelp7470
-audio/vnd.nuera.ecelp9600
-audio/vnd.octel.sbc
-audio/vnd.qcelp
-audio/vnd.rhetorex.32kadpcm
-audio/vnd.vmx.cvsd
-audio/x-aiff					aif aiff aifc
-audio/x-gsm					gsm
-audio/x-mpegurl					m3u
-audio/x-ms-wma					wma
-audio/x-ms-wax					wax
-audio/x-pn-realaudio-plugin
-audio/x-pn-realaudio				ra rm ram
-audio/x-realaudio				ra
-audio/x-scpls					pls
-audio/x-sd2					sd2
-audio/x-wav					wav
-
-chemical/x-alchemy				alc
-chemical/x-cache				cac cache
-chemical/x-cache-csf				csf
-chemical/x-cactvs-binary			cbin cascii ctab
-chemical/x-cdx					cdx
-chemical/x-cerius				cer
-chemical/x-chem3d				c3d
-chemical/x-chemdraw				chm
-chemical/x-cif					cif
-chemical/x-cmdf					cmdf
-chemical/x-cml					cml
-chemical/x-compass				cpa
-chemical/x-crossfire				bsd
-chemical/x-csml					csml csm
-chemical/x-ctx					ctx
-chemical/x-cxf					cxf cef
-#chemical/x-daylight-smiles			smi
-chemical/x-embl-dl-nucleotide			emb embl
-chemical/x-galactic-spc				spc
-chemical/x-gamess-input				inp gam gamin
-chemical/x-gaussian-checkpoint			fch fchk
-chemical/x-gaussian-cube			cub
-chemical/x-gaussian-input			gau gjc gjf
-chemical/x-gaussian-log				gal
-chemical/x-gcg8-sequence			gcg
-chemical/x-genbank				gen
-chemical/x-hin					hin
-chemical/x-isostar				istr ist
-chemical/x-jcamp-dx				jdx dx
-chemical/x-kinemage				kin
-chemical/x-macmolecule				mcm
-chemical/x-macromodel-input			mmd mmod
-chemical/x-mdl-molfile				mol
-chemical/x-mdl-rdfile				rd
-chemical/x-mdl-rxnfile				rxn
-chemical/x-mdl-sdfile				sd sdf
-chemical/x-mdl-tgf				tgf
-#chemical/x-mif					mif
-chemical/x-mmcif				mcif
-chemical/x-mol2					mol2
-chemical/x-molconn-Z				b
-chemical/x-mopac-graph				gpt
-chemical/x-mopac-input				mop mopcrt mpc zmt
-chemical/x-mopac-out				moo
-chemical/x-mopac-vib				mvb
-chemical/x-ncbi-asn1				asn
-chemical/x-ncbi-asn1-ascii			prt ent
-chemical/x-ncbi-asn1-binary			val aso
-chemical/x-ncbi-asn1-spec			asn
-chemical/x-pdb					pdb ent
-chemical/x-rosdal				ros
-chemical/x-swissprot				sw
-chemical/x-vamas-iso14976			vms
-chemical/x-vmd					vmd
-chemical/x-xtel					xtel
-chemical/x-xyz					xyz
-
-image/cgm
-image/g3fax
-image/gif					gif
-image/ief					ief
-image/jpeg					jpeg jpg jpe
-image/naplps
-image/pcx					pcx
-image/png					png
-image/prs.btif
-image/prs.pti
-image/svg+xml					svg svgz
-image/tiff					tiff tif
-image/vnd.cns.inf2
-image/vnd.djvu					djvu djv
-image/vnd.dwg
-image/vnd.dxf
-image/vnd.fastbidsheet
-image/vnd.fpx
-image/vnd.fst
-image/vnd.fujixerox.edmics-mmr
-image/vnd.fujixerox.edmics-rlc
-image/vnd.mix
-image/vnd.net-fpx
-image/vnd.svf
-image/vnd.wap.wbmp				wbmp
-image/vnd.xiff
-image/x-cmu-raster				ras
-image/x-coreldraw				cdr
-image/x-coreldrawpattern			pat
-image/x-coreldrawtemplate			cdt
-image/x-corelphotopaint				cpt
-image/x-icon					ico
-image/x-jg					art
-image/x-jng					jng
-image/x-ms-bmp					bmp
-image/x-photoshop				psd
-image/x-portable-anymap				pnm
-image/x-portable-bitmap				pbm
-image/x-portable-graymap			pgm
-image/x-portable-pixmap				ppm
-image/x-rgb					rgb
-image/x-xbitmap					xbm
-image/x-xpixmap					xpm
-image/x-xwindowdump				xwd
 
-inode/chardevice
-inode/blockdevice
-inode/directory-locked
-inode/directory
-inode/fifo
-inode/socket
-
-message/delivery-status
-message/disposition-notification
-message/external-body
-message/http
-message/s-http
-message/news
-message/partial
-message/rfc822					eml
-
-model/iges					igs iges
-model/mesh					msh mesh silo
-model/vnd.dwf
-model/vnd.flatland.3dml
-model/vnd.gdl
-model/vnd.gs-gdl
-model/vnd.gtw
-model/vnd.mts
-model/vnd.vtu
-model/vrml					wrl vrml
-
-multipart/alternative
-multipart/appledouble
-multipart/byteranges
-multipart/digest
-multipart/encrypted
-multipart/form-data
-multipart/header-set
-multipart/mixed
-multipart/parallel
-multipart/related
-multipart/report
-multipart/signed
-multipart/voice-message
-
-text/calendar					ics icz
-text/css					css
-text/csv					csv
-text/directory
-text/english
-text/enriched
-text/h323					323
-text/html					html htm shtml
-text/iuls					uls
-text/mathml					mml
-text/parityfec
-text/plain					asc txt text pot brf
-text/prs.lines.tag
-text/rfc822-headers
-text/richtext					rtx
-text/rtf
-text/scriptlet					sct wsc
-text/t140
-text/texmacs					tm ts
-text/tab-separated-values			tsv
-text/uri-list
-text/vnd.abc
-text/vnd.curl
-text/vnd.DMClientScript
-text/vnd.flatland.3dml
-text/vnd.fly
-text/vnd.fmi.flexstor
-text/vnd.in3d.3dml
-text/vnd.in3d.spot
-text/vnd.IPTC.NewsML
-text/vnd.IPTC.NITF
-text/vnd.latex-z
-text/vnd.motorola.reflex
-text/vnd.ms-mediapackage
-text/vnd.sun.j2me.app-descriptor		jad
-text/vnd.wap.si
-text/vnd.wap.sl
-text/vnd.wap.wml				wml
-text/vnd.wap.wmlscript				wmls
-text/x-bibtex					bib
-text/x-boo					boo
-text/x-c++hdr					h++ hpp hxx hh
-text/x-c++src					c++ cpp cxx cc
-text/x-chdr					h
-text/x-component				htc
-text/x-crontab
-text/x-csh					csh
-text/x-csrc					c
-text/x-dsrc					d
-text/x-diff					diff patch
-text/x-haskell					hs
-text/x-java					java
-text/x-literate-haskell				lhs
-text/x-makefile
-text/x-moc					moc
-text/x-pascal					p pas
-text/x-pcs-gcd					gcd
-text/x-perl					pl pm
-text/x-python					py
-text/x-scala					scala
-text/x-server-parsed-html
-text/x-setext					etx
-text/x-sh					sh
-text/x-tcl					tcl tk
-text/x-tex					tex ltx sty cls
-text/x-vcalendar				vcs
-text/x-vcard					vcf
-
-video/3gpp					3gp
-video/annodex					axv
-video/dl					dl
-video/dv					dif dv
-video/fli					fli
-video/gl					gl
-video/mpeg					mpeg mpg mpe
 video/mkv					mkv
-video/mp4					mp4
-video/quicktime					qt mov
-video/mp4v-es
-video/ogg					ogv
-video/parityfec
-video/pointer
-video/vnd.fvt
-video/vnd.motorola.video
-video/vnd.motorola.videop
-video/vnd.mpegurl				mxu
-video/vnd.mts
-video/vnd.nokia.interleaved-multimedia
-video/vnd.vivo
-video/x-flv					flv
-video/x-la-asf					lsf lsx
-video/x-mng					mng
-video/x-ms-asf					asf asx
-video/x-ms-wm					wm
-video/x-ms-wmv					wmv
-video/x-ms-wmx					wmx
-video/x-ms-wvx					wvx
-video/x-msvideo					avi
-video/x-sgi-movie				movie
-video/x-matroska				mpv
-
-x-conference/x-cooltalk				ice
-
-x-epoc/x-sisx-app				sisx
-x-world/x-vrml					vrm vrml wrl
+video/flash					flv
+video/ogg					ogv ogm
+video/divx					div divx
diff --git a/ranger/defaults/__init__.py b/ranger/defaults/__init__.py
index ee680432..71df3cb3 100644
--- a/ranger/defaults/__init__.py
+++ b/ranger/defaults/__init__.py
@@ -1,16 +1 @@
-# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
 """Default options and configration files"""
diff --git a/ranger/defaults/apps.py b/ranger/defaults/apps.py
index a19df7a9..347b9ce2 100644
--- a/ranger/defaults/apps.py
+++ b/ranger/defaults/apps.py
@@ -59,7 +59,7 @@ class CustomApplications(Applications):
 
 		if f.extension is not None:
 			if f.extension in ('pdf'):
-				return self.either(c, 'evince', 'apvlv')
+				return self.either(c, 'evince', 'zathura', 'apvlv')
 			if f.extension in ('html', 'htm', 'xhtml', 'swf'):
 				return self.either(c, 'firefox', 'opera', 'elinks')
 			if f.extension in ('swc', 'smc'):
@@ -78,11 +78,12 @@ class CustomApplications(Applications):
 			return self.either(c, 'mplayer', 'totem')
 
 		if f.image:
-			return self.app_feh(c)
+			return self.either(c, 'feh', 'eye_of_gnome', 'mirage')
 
-		if f.document:
+		if f.document or f.filetype.startswith('text'):
 			return self.app_editor(c)
 
+
 	# ----------------------------------------- application definitions
 	def app_pager(self, c):
 		return tup('less', *c)
@@ -127,10 +128,14 @@ class CustomApplications(Applications):
 		else:
 			return tup('mplayer', '-fs', *c)
 
+	@depends_on("eog")
+	def app_eye_of_gnome(self, c):
+		c.flags += 'd'
+		return tup('eog', *c)
+
 	@depends_on('mirage')
 	def app_mirage(self, c):
 		c.flags += 'd'
-
 		return tup('mirage', *c)
 
 	@depends_on('feh')
@@ -142,7 +147,7 @@ class CustomApplications(Applications):
 		if c.mode in arg:
 			return tup('feh', arg[c.mode], c.file.path)
 		if c.mode is 4:
-			return tup('gimp', *c)
+			return self.app_gimp(c)
 		if len(c.files) > 1:
 			return tup('feh', *c)
 
@@ -156,6 +161,10 @@ class CustomApplications(Applications):
 
 		return tup('feh', *deq)
 
+	@depends_on("gimp")
+	def app_gimp(self, c):
+		return tup('gimp', *c)
+
 	@depends_on('aunpack')
 	def app_aunpack(self, c):
 		if c.mode is 0:
@@ -211,6 +220,10 @@ class CustomApplications(Applications):
 	def app_evince(self, c):
 		return tup("evince", *c)
 
+	@depends_on('zathura')
+	def app_zathura(self, c):
+		return tup("zathura", *c)
+
 	@depends_on('wine')
 	def app_wine(self, c):
 		return tup("wine", c.file.path)
diff --git a/ranger/commands.py b/ranger/defaults/commands.py
index ddd8ba07..b1518013 100644
--- a/ranger/commands.py
+++ b/ranger/defaults/commands.py
@@ -40,7 +40,7 @@ class Command(FileManagerAware):
 		from os.path import dirname, basename, expanduser, join, isdir
 
 		line = parse(self.line)
-		pwd = self.fm.env.pwd.path
+		cwd = self.fm.env.cwd.path
 
 		try:
 			rel_dest = line.rest(1)
@@ -52,7 +52,7 @@ class Command(FileManagerAware):
 			rel_dest = expanduser(rel_dest)
 
 		# define some shortcuts
-		abs_dest = join(pwd, rel_dest)
+		abs_dest = join(cwd, rel_dest)
 		abs_dirname = dirname(abs_dest)
 		rel_basename = basename(rel_dest)
 		rel_dirname = dirname(rel_dest)
@@ -89,7 +89,7 @@ class Command(FileManagerAware):
 		from os.path import dirname, basename, expanduser, join, isdir
 
 		line = parse(self.line)
-		pwd = self.fm.env.pwd.path
+		cwd = self.fm.env.cwd.path
 
 		try:
 			rel_dest = line.rest(1)
@@ -101,7 +101,7 @@ class Command(FileManagerAware):
 			rel_dest = expanduser(rel_dest)
 
 		# define some shortcuts
-		abs_dest = join(pwd, rel_dest)
+		abs_dest = join(cwd, rel_dest)
 		abs_dirname = dirname(abs_dest)
 		rel_basename = basename(rel_dest)
 		rel_dirname = dirname(rel_dest)
@@ -167,13 +167,13 @@ class cd(Command):
 	def quick_open(self):
 		from os.path import isdir, join, normpath
 		line = parse(self.line)
-		pwd = self.fm.env.pwd.path
+		cwd = self.fm.env.cwd.path
 
 		rel_dest = line.rest(1)
 		if not rel_dest:
 			return False
 
-		abs_dest = normpath(join(pwd, rel_dest))
+		abs_dest = normpath(join(cwd, rel_dest))
 		return rel_dest != '.' and isdir(abs_dest)
 
 
@@ -212,22 +212,22 @@ class find(Command):
 	def _search(self):
 		self.count = 0
 		line = parse(self.line)
-		pwd = self.fm.env.pwd
+		cwd = self.fm.env.cwd
 		try:
 			arg = line.rest(1)
 		except IndexError:
 			return False
 
-		deq = deque(pwd.files)
-		deq.rotate(-pwd.pointer)
+		deq = deque(cwd.files)
+		deq.rotate(-cwd.pointer)
 		i = 0
 		for fsobj in deq:
 			filename = fsobj.basename_lower
 			if arg in filename:
 				self.count += 1
 				if self.count == 1:
-					pwd.move(absolute=(pwd.pointer + i) % len(pwd.files))
-					self.fm.env.cf = pwd.pointed_obj
+					cwd.move(absolute=(cwd.pointer + i) % len(cwd.files))
+					self.fm.env.cf = cwd.pointed_obj
 			if self.count > 1:
 				return False
 			i += 1
@@ -255,13 +255,36 @@ class delete(Command):
 	"Selection" is defined as all the "marked files" (by default, you
 	can mark files with space or v). If there are no marked files,
 	use the "current file" (where the cursor is)
+
+	When attempting to delete non-empty directories or multiple
+	marked files, it will require a confirmation: The last word in
+	the line has to start with a 'y'.  This may look like:
+	:delete yes
+	:delete seriously? yeah!
 	"""
 
 	allow_abbrev = False
+	WARNING = 'delete seriously? '
 
 	def execute(self):
-		self.fm.delete()
+		line = parse(self.line)
+		lastword = line.chunk(-1)
+
+		if lastword.startswith('y'):
+			# user confirmed deletion!
+			return self.fm.delete()
+		elif self.line.startswith(delete.WARNING):
+			# user did not confirm deletion
+			return
+
+		if self.fm.env.cwd.marked_items \
+		or (self.fm.env.cf.is_directory and not self.fm.env.cf.empty()):
+			# better ask for a confirmation, when attempting to
+			# delete multiple files or a non-empty directory.
+			return self.fm.open_console(self.mode, delete.WARNING)
 
+		# no need for a confirmation, just delete
+		self.fm.delete()
 
 class mkdir(Command):
 	"""
@@ -275,7 +298,7 @@ class mkdir(Command):
 		from os import mkdir
 
 		line = parse(self.line)
-		dirname = join(self.fm.env.pwd.path, expanduser(line.rest(1)))
+		dirname = join(self.fm.env.cwd.path, expanduser(line.rest(1)))
 		if not lexists(dirname):
 			mkdir(dirname)
 		else:
@@ -294,7 +317,7 @@ class touch(Command):
 		from os import mkdir
 
 		line = parse(self.line)
-		fname = join(self.fm.env.pwd.path, expanduser(line.rest(1)))
+		fname = join(self.fm.env.cwd.path, expanduser(line.rest(1)))
 		if not lexists(fname):
 			open(fname, 'a')
 		else:
@@ -357,9 +380,11 @@ class rename(Command):
 	def execute(self):
 		from ranger.fsobject.file import File
 		line = parse(self.line)
+		if not line.rest(1):
+			return self.fm.notify('Syntax: rename <newname>', bad=True)
 		self.fm.rename(self.fm.env.cf, line.rest(1))
 		f = File(line.rest(1))
-		self.fm.env.pwd.pointed_obj = f
+		self.fm.env.cwd.pointed_obj = f
 		self.fm.env.cf = f
 
 	def tab(self):
@@ -400,7 +425,7 @@ class chmod(Command):
 		try:
 			# reloading directory.  maybe its better to reload the selected
 			# files only.
-			self.fm.env.pwd.load_content()
+			self.fm.env.cwd.load_content()
 		except:
 			pass
 
@@ -458,7 +483,7 @@ def get_command(name, abbrev=True):
 				or cmd == name]
 		if len(lst) == 0:
 			raise KeyError
-		if len(lst) == 1:
+		if len(lst) == 1 or by_name[name] in lst:
 			return lst[0]
 		raise ValueError("Ambiguous command")
 	else:
@@ -470,3 +495,5 @@ def get_command(name, abbrev=True):
 def command_generator(start):
 	return (cmd + ' ' for cmd in by_name if cmd.startswith(start))
 
+alias(e=edit)  # to make :e unambiguous.
+
diff --git a/ranger/defaults/keys.py b/ranger/defaults/keys.py
index 7a17c831..f48c7012 100644
--- a/ranger/defaults/keys.py
+++ b/ranger/defaults/keys.py
@@ -15,7 +15,7 @@
 
 """
 This is the default key configuration file of ranger.
-Syntax for binding keys: bind(*keys, fnc)
+Syntax for binding keys: map(*keys, fnc)
 
 keys are one or more key-combinations which are either:
 * a string
@@ -34,11 +34,13 @@ arg.keybuffer: the keybuffer instance
 Check ranger.keyapi for more information
 """
 
-from ranger.api.keys import *
+# NOTE: The "map" object used below is a callable CommandList
+# object and NOT the builtin python map function!
 
+from ranger.api.keys import *
 
-def _vimlike_aliases(command_list):
-	bind, alias = make_abbreviations(command_list)
+def _vimlike_aliases(map):
+	alias = map.alias
 
 	# the key 'k' will always do the same as KEY_UP, etc.
 	alias(KEY_UP, 'k')
@@ -51,76 +53,71 @@ def _vimlike_aliases(command_list):
 	alias(KEY_HOME, 'gg')
 	alias(KEY_END, 'G')
 
-	# I like to move quickly with J/K
-	alias(ctrl('d'), 'J')
-	alias(ctrl('u'), 'K')
-
-def initialize_commands(command_list):
+def initialize_commands(map):
 	"""Initialize the commands for the main user interface"""
 
-	bind, alias = make_abbreviations(command_list)
-
 	# -------------------------------------------------------- movement
-	_vimlike_aliases(command_list)
-	command_list.alias(KEY_LEFT, KEY_BACKSPACE, DEL)
+	_vimlike_aliases(map)
+	map.alias(KEY_LEFT, KEY_BACKSPACE, DEL)
 
-	bind(KEY_DOWN, fm.move_pointer(relative=1))
-	bind(KEY_UP, fm.move_pointer(relative=-1))
-	bind(KEY_RIGHT, KEY_ENTER, ctrl('j'), fm.move_right())
-	bind(KEY_LEFT, KEY_BACKSPACE, DEL, fm.move_left(1))
-	bind(KEY_HOME, fm.move_pointer(absolute=0))
-	bind(KEY_END, fm.move_pointer(absolute=-1))
+	map(KEY_DOWN, fm.move_pointer(relative=1))
+	map(KEY_UP, fm.move_pointer(relative=-1))
+	map(KEY_RIGHT, KEY_ENTER, ctrl('j'), fm.move_right())
+	map(KEY_LEFT, KEY_BACKSPACE, DEL, fm.move_left(1))
+	map(KEY_HOME, fm.move_pointer(absolute=0))
+	map(KEY_END, fm.move_pointer(absolute=-1))
 
-	bind(KEY_HOME, fm.move_pointer(absolute=0))
-	bind(KEY_END, fm.move_pointer(absolute=-1))
+	map(KEY_HOME, fm.move_pointer(absolute=0))
+	map(KEY_END, fm.move_pointer(absolute=-1))
 
-	bind('%', fm.move_pointer_by_percentage(absolute=50))
-	bind(KEY_NPAGE, fm.move_pointer_by_pages(1))
-	bind(KEY_PPAGE, fm.move_pointer_by_pages(-1))
-	bind(ctrl('d'), fm.move_pointer_by_pages(0.5))
-	bind(ctrl('u'), fm.move_pointer_by_pages(-0.5))
+	map('%', fm.move_pointer_by_percentage(absolute=50))
+	map(KEY_NPAGE, fm.move_pointer_by_pages(1))
+	map(KEY_PPAGE, fm.move_pointer_by_pages(-1))
+	map(ctrl('d'), 'J', fm.move_pointer_by_pages(0.5))
+	map(ctrl('u'), 'K', fm.move_pointer_by_pages(-0.5))
 
-	bind(']', fm.traverse())
-	bind('[', fm.history_go(-1))
+	map(']', fm.traverse())
+	map('[', fm.history_go(-1))
 
 	# --------------------------------------------------------- history
-	bind('H', fm.history_go(-1))
-	bind('L', fm.history_go(1))
+	map('H', fm.history_go(-1))
+	map('L', fm.history_go(1))
 
 	# ----------------------------------------------- tagging / marking
-	bind('t', fm.tag_toggle())
-	bind('T', fm.tag_remove())
+	map('t', fm.tag_toggle())
+	map('T', fm.tag_remove())
 
-	bind(' ', fm.mark(toggle=True))
-	bind('v', fm.mark(all=True, toggle=True))
-	bind('V', fm.mark(all=True, val=False))
+	map(' ', fm.mark(toggle=True))
+	map('v', fm.mark(all=True, toggle=True))
+	map('V', fm.mark(all=True, val=False))
 
 	# ------------------------------------------ file system operations
-	bind('yy', fm.copy())
-	bind('dd', fm.cut())
-	bind('pp', fm.paste())
-	bind('po', fm.paste(overwrite=True))
-	bind('pl', fm.paste_symlink())
-	bind('p', hint='press //p// once again to confirm pasting' \
+	map('yy', fm.copy())
+	map('dd', fm.cut())
+	map('pp', fm.paste())
+	map('po', fm.paste(overwrite=True))
+	map('pl', fm.paste_symlink())
+	map('p', hint='press //p// once again to confirm pasting' \
 			', or //l// to create symlinks')
 
 	# ---------------------------------------------------- run programs
-	bind('s', fm.execute_command(os.environ['SHELL']))
-	bind('E', fm.edit_file())
-	bind(',term', fm.execute_command('x-terminal-emulator', flags='d'))
-	bind('du', fm.execute_command('du --max-depth=1 -h | less'))
+	map('s', fm.execute_command(os.environ['SHELL']))
+	map('E', fm.edit_file())
+	map(',term', fm.execute_command('x-terminal-emulator', flags='d'))
+	map('du', fm.execute_command('du --max-depth=1 -h | less'))
 
 	# -------------------------------------------------- toggle options
-	bind('b', hint="bind_//h//idden //p//review_files //d//irectories_first " \
-			"//c//ollapse_preview flush//i//nput")
-	bind('bh', fm.toggle_boolean_option('show_hidden'))
-	bind('bp', fm.toggle_boolean_option('preview_files'))
-	bind('bi', fm.toggle_boolean_option('flushinput'))
-	bind('bd', fm.toggle_boolean_option('directories_first'))
-	bind('bc', fm.toggle_boolean_option('collapse_preview'))
+	map('b', hint="show_//h//idden //p//review_files //d//irectories_first " \
+		"//c//ollapse_preview flush//i//nput")
+	map('bh', fm.toggle_boolean_option('show_hidden'))
+	map('bp', fm.toggle_boolean_option('preview_files'))
+	map('bP', fm.toggle_boolean_option('preview_directories'))
+	map('bi', fm.toggle_boolean_option('flushinput'))
+	map('bd', fm.toggle_boolean_option('directories_first'))
+	map('bc', fm.toggle_boolean_option('collapse_preview'))
 
 	# ------------------------------------------------------------ sort
-	bind('o', 'O', hint="//s//ize //b//ase//n//ame //m//time //t//ype //r//everse")
+	map('o', 'O', hint="//s//ize //b//ase//n//ame //m//time //t//ype //r//everse")
 	sort_dict = {
 		's': 'size',
 		'b': 'basename',
@@ -132,63 +129,63 @@ def initialize_commands(command_list):
 	for key, val in sort_dict.items():
 		for key, is_capital in ((key, False), (key.upper(), True)):
 			# reverse if any of the two letters is capital
-			bind('o' + key, fm.sort(func=val, reverse=is_capital))
-			bind('O' + key, fm.sort(func=val, reverse=True))
+			map('o' + key, fm.sort(func=val, reverse=is_capital))
+			map('O' + key, fm.sort(func=val, reverse=True))
 
-	bind('or', 'Or', 'oR', 'OR', lambda arg: \
+	map('or', 'Or', 'oR', 'OR', lambda arg: \
 			arg.fm.sort(reverse=not arg.fm.settings.reverse))
 
 	# ----------------------------------------------- console shortcuts
-	@bind("A")
+	@map("A")
 	def append_to_filename(arg):
 		command = 'rename ' + arg.fm.env.cf.basename
 		arg.fm.open_console(cmode.COMMAND, command)
 
-	bind('cw', fm.open_console(cmode.COMMAND, 'rename '))
-	bind('cd', fm.open_console(cmode.COMMAND, 'cd '))
-	bind('f', fm.open_console(cmode.COMMAND_QUICK, 'find '))
-	bind('tf', fm.open_console(cmode.COMMAND, 'filter '))
-	bind('d', hint='d//u// (disk usage) d//d// (cut)')
+	map('cw', fm.open_console(cmode.COMMAND, 'rename '))
+	map('cd', fm.open_console(cmode.COMMAND, 'cd '))
+	map('f', fm.open_console(cmode.COMMAND_QUICK, 'find '))
+	map('tf', fm.open_console(cmode.COMMAND, 'filter '))
+	map('d', hint='d//u// (disk usage) d//d// (cut)')
 
 	# --------------------------------------------- jump to directories
-	bind('gh', fm.cd('~'))
-	bind('ge', fm.cd('/etc'))
-	bind('gu', fm.cd('/usr'))
-	bind('gd', fm.cd('/dev'))
-	bind('gl', fm.cd('/lib'))
-	bind('go', fm.cd('/opt'))
-	bind('gv', fm.cd('/var'))
-	bind('gr', 'g/', fm.cd('/'))
-	bind('gm', fm.cd('/media'))
-	bind('gn', fm.cd('/mnt'))
-	bind('gt', fm.cd('/tmp'))
-	bind('gs', fm.cd('/srv'))
-	bind('gR', fm.cd(RANGERDIR))
+	map('gh', fm.cd('~'))
+	map('ge', fm.cd('/etc'))
+	map('gu', fm.cd('/usr'))
+	map('gd', fm.cd('/dev'))
+	map('gl', fm.cd('/lib'))
+	map('go', fm.cd('/opt'))
+	map('gv', fm.cd('/var'))
+	map('gr', 'g/', fm.cd('/'))
+	map('gm', fm.cd('/media'))
+	map('gn', fm.cd('/mnt'))
+	map('gt', fm.cd('/tmp'))
+	map('gs', fm.cd('/srv'))
+	map('gR', fm.cd(RANGERDIR))
 
 	# ------------------------------------------------------- searching
-	bind('/', fm.open_console(cmode.SEARCH))
+	map('/', fm.open_console(cmode.SEARCH))
 
-	bind('n', fm.search())
-	bind('N', fm.search(forward=False))
+	map('n', fm.search())
+	map('N', fm.search(forward=False))
 
-	bind(TAB, fm.search(order='tag'))
-	bind('cc', fm.search(order='ctime'))
-	bind('cm', fm.search(order='mimetype'))
-	bind('cs', fm.search(order='size'))
-	bind('c', hint='//c//time //m//imetype //s//ize')
+	map(TAB, fm.search(order='tag'))
+	map('cc', fm.search(order='ctime'))
+	map('cm', fm.search(order='mimetype'))
+	map('cs', fm.search(order='size'))
+	map('c', hint='//c//time //m//imetype //s//ize')
 
 	# ------------------------------------------------------- bookmarks
 	for key in ALLOWED_BOOKMARK_KEYS:
-		bind("`" + key, "'" + key, fm.enter_bookmark(key))
-		bind("m" + key, fm.set_bookmark(key))
-		bind("um" + key, fm.unset_bookmark(key))
-	bind("`", "'", "m", draw_bookmarks=True)
+		map("`" + key, "'" + key, fm.enter_bookmark(key))
+		map("m" + key, fm.set_bookmark(key))
+		map("um" + key, fm.unset_bookmark(key))
+	map("`", "'", "m", draw_bookmarks=True)
 
 	# ---------------------------------------------------- change views
-	bind('i', fm.display_file())
-	bind(ctrl('p'), fm.display_log())
-	bind('?', KEY_F1, fm.display_help())
-	bind('w', lambda arg: arg.fm.ui.open_taskview())
+	map('i', fm.display_file())
+	map(ctrl('p'), fm.display_log())
+	map('?', KEY_F1, fm.display_help())
+	map('w', lambda arg: arg.fm.ui.open_taskview())
 
 	# ---------------------------------------------------------- custom
 	# This is useful to track watched episode of a series.
@@ -206,134 +203,129 @@ def initialize_commands(command_list):
 	bind(KEY_ENTER, ctrl('j'), fm.move_right(mode=1))
 
 	# ------------------------------------------------ system functions
-	_system_functions(command_list)
-	bind('ZZ', fm.exit())
-	bind(ctrl('R'), fm.reset())
-	bind('R', fm.reload_cwd())
-	bind(ctrl('C'), fm.exit())
+	_system_functions(map)
+	map('ZZ', fm.exit())
+	map(ctrl('R'), fm.reset())
+	map('R', fm.reload_cwd())
+	map(ctrl('C'), fm.exit())
 
-	bind(':', ';', fm.open_console(cmode.COMMAND))
-	bind('>', fm.open_console(cmode.COMMAND_QUICK))
-	bind('!', fm.open_console(cmode.OPEN))
-	bind('r', fm.open_console(cmode.OPEN_QUICK))
+	map(':', ';', fm.open_console(cmode.COMMAND))
+	map('>', fm.open_console(cmode.COMMAND_QUICK))
+	map('!', fm.open_console(cmode.OPEN))
+	map('r', fm.open_console(cmode.OPEN_QUICK))
 
-	command_list.rebuild_paths()
+	map.rebuild_paths()
 
 
-def initialize_console_commands(command_list):
+def initialize_console_commands(map):
 	"""Initialize the commands for the console widget only"""
-	bind, alias = make_abbreviations(command_list)
 
 	# -------------------------------------------------------- movement
-	bind(KEY_UP, wdg.history_move(-1))
-	bind(KEY_DOWN, wdg.history_move(1))
+	map(KEY_UP, wdg.history_move(-1))
+	map(KEY_DOWN, wdg.history_move(1))
 
-	bind(ctrl('b'), KEY_LEFT, wdg.move(relative = -1))
-	bind(ctrl('f'), KEY_RIGHT, wdg.move(relative = 1))
-	bind(ctrl('a'), KEY_HOME, wdg.move(absolute = 0))
-	bind(ctrl('e'), KEY_END, wdg.move(absolute = -1))
+	map(ctrl('b'), KEY_LEFT, wdg.move(relative = -1))
+	map(ctrl('f'), KEY_RIGHT, wdg.move(relative = 1))
+	map(ctrl('a'), KEY_HOME, wdg.move(absolute = 0))
+	map(ctrl('e'), KEY_END, wdg.move(absolute = -1))
 
 	# ----------------------------------------- deleting / pasting text
-	bind(ctrl('d'), KEY_DC, wdg.delete(0))
-	bind(ctrl('h'), KEY_BACKSPACE, DEL, wdg.delete(-1))
-	bind(ctrl('w'), wdg.delete_word())
-	bind(ctrl('k'), wdg.delete_rest(1))
-	bind(ctrl('u'), wdg.delete_rest(-1))
-	bind(ctrl('y'), wdg.paste())
+	map(ctrl('d'), KEY_DC, wdg.delete(0))
+	map(ctrl('h'), KEY_BACKSPACE, DEL, wdg.delete(-1))
+	map(ctrl('w'), wdg.delete_word())
+	map(ctrl('k'), wdg.delete_rest(1))
+	map(ctrl('u'), wdg.delete_rest(-1))
+	map(ctrl('y'), wdg.paste())
 
 	# ----------------------------------------------------- typing keys
 	def type_key(arg):
 		arg.wdg.type_key(arg.keys)
 
 	for i in range(ord(' '), ord('~')+1):
-		bind(i, type_key)
+		map(i, type_key)
 
 	# ------------------------------------------------ system functions
-	_system_functions(command_list)
+	_system_functions(map)
 
-	bind(KEY_F1, lambda arg: arg.fm.display_command_help(arg.wdg))
-	bind(ctrl('c'), ESC, wdg.close())
-	bind(ctrl('j'), KEY_ENTER, wdg.execute())
-	bind(TAB, wdg.tab())
-	bind(KEY_BTAB, wdg.tab(-1))
+	map(KEY_F1, lambda arg: arg.fm.display_command_help(arg.wdg))
+	map(ctrl('c'), ESC, wdg.close())
+	map(ctrl('j'), KEY_ENTER, wdg.execute())
+	map(TAB, wdg.tab())
+	map(KEY_BTAB, wdg.tab(-1))
 
-	command_list.rebuild_paths()
+	map.rebuild_paths()
 
 
-def initialize_taskview_commands(command_list):
+def initialize_taskview_commands(map):
 	"""Initialize the commands for the TaskView widget"""
-	bind, alias = make_abbreviations(command_list)
-	_basic_movement(command_list)
-	_vimlike_aliases(command_list)
-	_system_functions(command_list)
+	_basic_movement(map)
+	_vimlike_aliases(map)
+	_system_functions(map)
 
 	# -------------------------------------------------- (re)move tasks
-	bind('K', wdg.task_move(0))
-	bind('J', wdg.task_move(-1))
-	bind('dd', wdg.task_remove())
+	map('K', wdg.task_move(0))
+	map('J', wdg.task_move(-1))
+	map('dd', wdg.task_remove())
 
 	# ------------------------------------------------ system functions
-	bind('?', fm.display_help())
-	bind('w', 'q', ESC, ctrl('d'), ctrl('c'),
+	map('?', fm.display_help())
+	map('w', 'q', ESC, ctrl('d'), ctrl('c'),
 			lambda arg: arg.fm.ui.close_taskview())
 
-	command_list.rebuild_paths()
+	map.rebuild_paths()
 
 
-def initialize_pager_commands(command_list):
-	bind, alias = make_abbreviations(command_list)
-	_base_pager_commands(command_list)
-	bind('q', 'i', ESC, KEY_F1, lambda arg: arg.fm.ui.close_pager())
-	command_list.rebuild_paths()
+def initialize_pager_commands(map):
+	_base_pager_commands(map)
+	map('q', 'i', ESC, KEY_F1, lambda arg: arg.fm.ui.close_pager())
+	map.rebuild_paths()
 
 
-def initialize_embedded_pager_commands(command_list):
-	bind, alias = make_abbreviations(command_list)
-	_base_pager_commands(command_list)
-	bind('q', 'i', ESC, lambda arg: arg.fm.ui.close_embedded_pager())
-	command_list.rebuild_paths()
+def initialize_embedded_pager_commands(map):
+	_base_pager_commands(map)
+	map('q', 'i', ESC, lambda arg: arg.fm.ui.close_embedded_pager())
+	map.rebuild_paths()
 
-
-def _base_pager_commands(command_list):
-	bind, alias = make_abbreviations(command_list)
-	_basic_movement(command_list)
-	_vimlike_aliases(command_list)
-	_system_functions(command_list)
+def _base_pager_commands(map):
+	_basic_movement(map)
+	_vimlike_aliases(map)
+	_system_functions(map)
 
 	# -------------------------------------------------------- movement
-	bind(KEY_LEFT, wdg.move_horizontal(relative=-4))
-	bind(KEY_RIGHT, wdg.move_horizontal(relative=4))
-	bind(KEY_NPAGE, wdg.move(relative=1, pages=True))
-	bind(KEY_PPAGE, wdg.move(relative=-1, pages=True))
-	bind(ctrl('d'), wdg.move(relative=0.5, pages=True))
-	bind(ctrl('u'), wdg.move(relative=-0.5, pages=True))
+	map(KEY_LEFT, wdg.move_horizontal(relative=-4))
+	map(KEY_RIGHT, wdg.move_horizontal(relative=4))
+	map(KEY_NPAGE, wdg.move(relative=1, pages=True))
+	map(KEY_PPAGE, wdg.move(relative=-1, pages=True))
+	map(ctrl('d'), wdg.move(relative=0.5, pages=True))
+	map(ctrl('u'), wdg.move(relative=-0.5, pages=True))
+	map(' ', wdg.move(relative=0.8, pages=True))
 
 	# ---------------------------------------------------------- others
-	bind('E', fm.edit_file())
-	bind('?', fm.display_help())
+	map('E', fm.edit_file())
+	map('?', fm.display_help())
 
 	# --------------------------------------------- less-like shortcuts
-	alias(KEY_NPAGE, 'd')
-	alias(KEY_PPAGE, 'u')
+	map.alias(KEY_NPAGE, 'd')
+	map.alias(KEY_PPAGE, 'u')
 
 
-def _system_functions(command_list):
+def _system_functions(map):
 	# Each commandlist should have this bindings
-	bind, alias = make_abbreviations(command_list)
+	map(KEY_RESIZE, fm.resize())
+	map(KEY_MOUSE, fm.handle_mouse())
+	map('Q', fm.exit())
+	map(ctrl('L'), fm.redraw_window())
 
-	bind(KEY_RESIZE, fm.resize())
-	bind(KEY_MOUSE, fm.handle_mouse())
-	bind('Q', fm.exit())
-	bind(ctrl('L'), fm.redraw_window())
 
+def _basic_movement(map):
+	map(KEY_DOWN, wdg.move(relative=1))
+	map(KEY_UP, wdg.move(relative=-1))
+	map(KEY_HOME, wdg.move(absolute=0))
+	map(KEY_END, wdg.move(absolute=-1))
 
-def _basic_movement(command_list):
-	bind, alias = make_abbreviations(command_list)
 
-	bind(KEY_DOWN, wdg.move(relative=1))
-	bind(KEY_UP, wdg.move(relative=-1))
-	bind(KEY_HOME, wdg.move(absolute=0))
-	bind(KEY_END, wdg.move(absolute=-1))
+
+# ------ newkey:
 
 
 def base_directions():
@@ -500,21 +492,6 @@ def browser_keys():
 	map('?', KEY_F1, fm.display_help())
 	map('w', lambda arg: arg.fm.ui.open_taskview())
 
-	# ---------------------------------------------------------- custom
-	# This is useful to track watched episode of a series.
-	@map(']')
-	def tag_next_and_run(arg):
-		fm = arg.fm
-		fm.tag_remove()
-		fm.tag_remove(movedown=False)
-		fm.tag_toggle()
-		fm.move_pointer(relative=-2)
-		fm.move_right()
-		fm.move_pointer(relative=1)
-
-	# "enter" = shortcut for "1l"
-	map('<cr>', fm.move(Direction(right=2)))
-
 	# ------------------------------------------------ system functions
 	map('ZZ', fm.exit())
 	map(ctrl('R'), fm.reset())
@@ -535,7 +512,7 @@ def console_keys():
 	@map('<any>')
 	def type_key(arg):
 		arg.wdg.type_key(arg.match)
-	
+
 	map('<up>', wdg.history_move(-1))
 	map('<down>', wdg.history_move(1))
 	map('<tab>', wdg.tab())
diff --git a/ranger/defaults/options.py b/ranger/defaults/options.py
index 139cda88..a7090285 100644
--- a/ranger/defaults/options.py
+++ b/ranger/defaults/options.py
@@ -15,32 +15,71 @@
 
 """
 This is the default configuration file of ranger.
-If you do any changes, make sure the import-line stays
-intact and the type of the value stays the same.
+
+There are two ways of customizing ranger.  The first and recommended
+method is creating a file at ~/.ranger/options.py and adding
+those lines you want to change.  It might look like this:
+
+from ranger.api.options import *
+preview_files = False  # I hate previews!
+max_history_size = 2000  # I can afford it.
+
+The other way is directly editing this file.  This will make upgrades
+of ranger more complicated though.
+
+Whatever you do, make sure the import-line stays intact and the type
+of the values stay the same.
 """
 
 from ranger.api.options import *
 
-one_kb = 1024
+# Which files are hidden if show_hidden is False?
+hidden_filter = regexp(
+	r'lost\+found|^\.|~$|\.(:?pyc|pyo|bak|swp)$')
+show_hidden = False
+
+# Which colorscheme to use?  These colorschemes are available by default:
+# default, default88, texas, jungle, snow
+# Snow is monochrome, texas and default88 use 88 colors.
+colorscheme = 'default'
+
+# Preview files on the rightmost column?
+# And collapse the last column if there is nothing to preview?
+preview_files = True
+preview_directories = True
+max_filesize_for_preview = 300 * 1024  # 300kb
+collapse_preview = True
 
-colorscheme = colorschemes.default
+# Draw borders around columns?
+draw_borders = False
 
+# Set a title for the window?
+update_title = True
+
+# Shorten the title if it gets long?  The number defines how many
+# directories are displayed at once, False turns off this feature.
+shorten_title = 3
+
+# How many directory-changes or console-commands should be kept in history?
 max_history_size = 20
-max_filesize_for_preview = 300 * one_kb
+
+# Try to keep so much space between the top/bottom border when scrolling:
 scroll_offset = 2
-preview_files = True
-flushinput = True
 
-sort = 'basename'
-reverse = False
-directories_first = True
+# Flush the input after each key hit?  (Noticable when ranger lags)
+flushinput = True
 
-show_hidden = False
-collapse_preview = True
+# Save bookmarks (used with mX and `X) instantly?
+# This helps to synchronize bookmarks between multiple ranger
+# instances but leads to *slight* performance loss.
+# When false, bookmarks are saved when ranger is exited.
 autosave_bookmarks = True
-update_title = False
 
+# Makes sense for screen readers:
 show_cursor = False
 
-hidden_filter = regexp(
-		r'lost\+found|^\.|~$|\.(:?pyc|pyo|bak|swp)$')
+# One of: size, basename, mtime, type
+sort = 'basename'
+reverse = False
+directories_first = True
+
diff --git a/ranger/ext/__init__.py b/ranger/ext/__init__.py
index d4bb9e72..9cf2ee50 100644
--- a/ranger/ext/__init__.py
+++ b/ranger/ext/__init__.py
@@ -1,16 +1 @@
-# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
 """This package includes extensions with broader usability"""
diff --git a/ranger/ext/command_parser.py b/ranger/ext/command_parser.py
index 1082e767..a6971631 100644
--- a/ranger/ext/command_parser.py
+++ b/ranger/ext/command_parser.py
@@ -30,7 +30,7 @@ class LazyParser(object):
 	def chunk(self, n, otherwise=''):
 		"""Chunks are pieces of the command seperated by spaces"""
 		if self._chunks is None:
-			self._chunks = line.split()
+			self._chunks = self.line.split()
 
 		if len(self._chunks) > n:
 			return self._chunks[n]
diff --git a/ranger/ext/debug.py b/ranger/ext/debug.py
deleted file mode 100644
index 88f43340..00000000
--- a/ranger/ext/debug.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-LOGFILE = '/tmp/errorlog'
-
-def log(*objects, **keywords):
-	"""Writes objects to a logfile.
-	Has the same arguments as print() in python3"""
-	start = 'start' in keywords and keywords['start'] or 'ranger:'
-	sep   =   'sep' in keywords and keywords['sep']   or ' '
-	_file =  'file' in keywords and keywords['file']  or open(LOGFILE, 'a')
-	end   =   'end' in keywords and keywords['end']   or '\n'
-	_file.write(sep.join(map(str, (start, ) + objects)) + end)
-
-#for python3-only versions, this could be replaced with:
-#
-#def log(*objects, start='ranger:', sep=' ', end='\n'):
-#	print(start, *objects, end=end, sep=sep, file=open(LOGFILE, 'a'))
-
-def trace():
-	from traceback import print_stack
-	print_stack(file=open(LOGFILE, 'a'))
diff --git a/ranger/ext/openstruct.py b/ranger/ext/openstruct.py
index 56f7de06..a94c3031 100644
--- a/ranger/ext/openstruct.py
+++ b/ranger/ext/openstruct.py
@@ -13,23 +13,11 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-class OpenStruct(object):
-	def __init__(self, __dictionary=None, **__keywords):
-		if __dictionary:
-			self.__dict__.update(__dictionary)
-		if __keywords:
-			self.__dict__.update(__keywords)
+# prepend __ to arguments because one might use "args"
+# or "keywords" as a keyword argument.
 
-	def __getitem__(self, key):
-		return self.__dict__[key]
-
-	def __setitem__(self, key, value):
-		self.__dict__[key] = value
-		return value
-
-	def __contains__(self, key):
-		return key in self.__dict__
-
-class ReferencedOpenStruct(OpenStruct):
-	def __init__(self, dictionary):
-		self.__dict__ = dictionary
+class OpenStruct(dict):
+	"""The fusion of dict and struct"""
+	def __init__(self, *__args, **__keywords):
+		dict.__init__(self, *__args, **__keywords)
+		self.__dict__ = self
diff --git a/ranger/ext/relpath.py b/ranger/ext/relpath.py
deleted file mode 100644
index ddca89a3..00000000
--- a/ranger/ext/relpath.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import os
-import ranger
-
-def relpath(*paths):
-	"""returns the path relative to rangers library directory"""
-	return os.path.join(ranger.RANGERDIR, *paths)
-
-def relpath_conf(*paths):
-	"""returns the path relative to rangers configuration directory"""
-	return os.path.join(ranger.CONFDIR, *paths)
-
diff --git a/ranger/ext/shutil_generatorized.py b/ranger/ext/shutil_generatorized.py
index 8c699f8e..8bf07ace 100644
--- a/ranger/ext/shutil_generatorized.py
+++ b/ranger/ext/shutil_generatorized.py
@@ -306,12 +306,8 @@ def move(src, dst, overwrite=False):
 
     """
     real_dst = dst
-    if not overwrite and os.path.isdir(dst):
-        real_dst = os.path.join(dst, _basename(src))
-        if os.path.exists(real_dst):
-            raise Error("Destination path '%s' already exists" % real_dst)
     if not overwrite:
-        real_dst = get_safe_path(real_dst)
+        real_dst = get_safe_path(os.path.join(dst, _basename(src)))
     try:
         os.rename(src, real_dst)
     except OSError:
diff --git a/ranger/fsobject/directory.py b/ranger/fsobject/directory.py
index 5bbbe3e4..8bb8a78a 100644
--- a/ranger/fsobject/directory.py
+++ b/ranger/fsobject/directory.py
@@ -341,7 +341,7 @@ class Directory(FileSystemObject, Accumulator, SettingsAware):
 		Accumulator.correct_pointer(self)
 
 		try:
-			if self == self.fm.env.pwd:
+			if self == self.fm.env.cwd:
 				self.fm.env.cf = self.pointed_obj
 		except:
 			pass
diff --git a/ranger/fsobject/fsobject.py b/ranger/fsobject/fsobject.py
index 0e67cba6..4278c3e8 100644
--- a/ranger/fsobject/fsobject.py
+++ b/ranger/fsobject/fsobject.py
@@ -30,6 +30,7 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 	basename = None
 	basename_lower = None
 	_shell_escaped_basename = None
+	_filetype = None
 	dirname = None
 	extension = None
 	exists = False
@@ -86,6 +87,19 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 			self._shell_escaped_basename = shell_escape(self.basename)
 		return self._shell_escaped_basename
 
+	@property
+	def filetype(self):
+		if self._filetype is None:
+			import subprocess
+			try:
+				got = subprocess.Popen(["file", '-Lb', '--mime-type',\
+						self.path], stdout=subprocess.PIPE).communicate()[0]
+			except OSError:
+				self._filetype = ''
+			else:
+				self._filetype = got
+		return self._filetype
+
 	def get_description(self):
 		return "Loading " + str(self)
 
@@ -105,16 +119,17 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 
 	def set_mimetype(self):
 		"""assign attributes such as self.video according to the mimetype"""
-		try:
-			self.mimetype = self.mimetypes[self.extension]
-		except KeyError:
+		self.mimetype = self.mimetypes.guess_type(self.basename, False)[0]
+		if self.mimetype is None:
 			self.mimetype = ''
 
 		self.video = self.mimetype.startswith('video')
 		self.image = self.mimetype.startswith('image')
 		self.audio = self.mimetype.startswith('audio')
 		self.media = self.video or self.image or self.audio
-		self.document = self.mimetype.startswith('text') or (self.extension in DOCUMENT_EXTENSIONS) or (self.basename in DOCUMENT_BASENAMES)
+		self.document = self.mimetype.startswith('text') \
+				or (self.extension in DOCUMENT_EXTENSIONS) \
+				or (self.basename in DOCUMENT_BASENAMES)
 		self.container = self.extension in CONTAINER_EXTENSIONS
 
 		keys = ('video', 'audio', 'image', 'media', 'document', 'container')
@@ -152,7 +167,7 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 			self.islink = stat.S_ISLNK(self.stat.st_mode)
 			self.accessible = True
 
-		if os.access(self.path, os.F_OK):
+		if self.accessible and os.access(self.path, os.F_OK):
 			self.exists = True
 			self.accessible = True
 
@@ -203,12 +218,12 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 		else:
 			perms = ['-']
 
-		for who in "USR", "GRP", "OTH":
-			for what in "rwx":
-				if mode & getattr(stat, "S_I" + what.upper() + who):
-					perms.append( what.lower() )
+		for who in ("USR", "GRP", "OTH"):
+			for what in "RWX":
+				if mode & getattr(stat, "S_I" + what + who):
+					perms.append(what.lower())
 				else:
-					perms.append( '-' )
+					perms.append('-')
 
 		self.permissions = ''.join(perms)
 		return self.permissions
diff --git a/ranger/gui/colorscheme.py b/ranger/gui/colorscheme.py
index 867aec70..199a5523 100644
--- a/ranger/gui/colorscheme.py
+++ b/ranger/gui/colorscheme.py
@@ -41,7 +41,6 @@ If your colorscheme-file contains more than one colorscheme, specify it with:
 colorscheme = colorschemes.filename.classname
 """
 
-from ranger.ext.openstruct import ReferencedOpenStruct
 from curses import color_pair
 from ranger.gui.color import get_color
 from ranger.gui.context import Context
@@ -89,8 +88,17 @@ class ColorScheme(object):
 	def use(self, context):
 		"""
 		Use the colorscheme to determine the (fg, bg, attr) tuple.
-		This is a dummy function which always returns default_colors.
-		Override this in your custom colorscheme!
+
+		When no colorscheme is found, ranger will fall back to this very
+		basic colorscheme where directories are blue and bold, and
+		selected files have the color inverted.
+
+		Override this method in your own colorscheme.
 		"""
-		from ranger.gui.color import default_colors
-		return default_colors
+		fg, attr = -1, 0
+		if context.highlight or context.selected:
+			attr = 262144
+		if context.directory:
+			attr |= 2097152
+			fg = 4
+		return fg, -1, attr
diff --git a/ranger/gui/context.py b/ranger/gui/context.py
index 25544932..d31124ca 100644
--- a/ranger/gui/context.py
+++ b/ranger/gui/context.py
@@ -25,7 +25,7 @@ CONTEXT_KEYS = ['reset', 'error',
 		'scroll', 'all', 'bot', 'top', 'percentage',
 		'marked', 'tagged', 'tag_marker',
 		'help_markup',
-		'seperator', 'key', 'special',
+		'seperator', 'key', 'special', 'border',
 		'title', 'text', 'highlight', 'bars', 'quotes',
 		'keybuffer']
 
diff --git a/ranger/gui/ui.py b/ranger/gui/ui.py
index 05efa639..2d86736c 100644
--- a/ranger/gui/ui.py
+++ b/ranger/gui/ui.py
@@ -13,6 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+import os
 import socket
 import sys
 import curses
@@ -22,12 +23,16 @@ from .displayable import DisplayableContainer
 from ranger.container.keymap import CommandArgs
 from .mouse_event import MouseEvent
 
+TERMINALS_WITH_TITLE = ("xterm", "xterm-256color", "rxvt",
+		"rxvt-256color", "rxvt-unicode", "aterm", "Eterm",
+		"screen", "screen-256color")
+
 class UI(DisplayableContainer):
 	is_set_up = False
 	mousemask = curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION
 	load_mode = False
 	def __init__(self, keymap=None, env=None, fm=None):
-		import os
+		self._draw_title = os.environ["TERM"] in TERMINALS_WITH_TITLE
 		os.environ['ESCDELAY'] = '25'   # don't know a cleaner way
 
 		if env is not None:
@@ -195,13 +200,15 @@ class UI(DisplayableContainer):
 		"""Erase the window, then draw all objects in the container"""
 		self.win.touchwin()
 		DisplayableContainer.draw(self)
-		if self.settings.update_title:
-			hostname = str(socket.gethostname())
-			try:
-				cwd = self.fm.env.pwd.path
-			except:
-				cwd = ' - ranger'
-			sys.stdout.write("\033]2;" + hostname + cwd + "\007")
+		if self._draw_title and self.settings.update_title:
+			cwd = self.fm.env.cwd.path
+			if cwd.startswith(self.env.home_path):
+				cwd = '~' + cwd[len(self.env.home_path):]
+			if self.settings.shorten_title:
+				split = cwd.rsplit(os.sep, self.settings.shorten_title)
+				if os.sep in split[0]:
+					cwd = os.sep.join(split[1:])
+			sys.stdout.write("\033]2;ranger:" + cwd + "\007")
 		self.win.refresh()
 
 	def finalize(self):
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index 2550062f..238a4803 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -32,7 +32,7 @@ PREVIEW_BLACKLIST = re.compile(r"""
 			# binary files:
 				| torrent | class | so | img | py[co] | dmg
 			# containers:
-				| iso | rar | zip | 7z | tar | gz | bz2
+				| iso | rar | zip | 7z | tar | gz | bz2 | tgz
 		)
 		# ignore filetype-independent suffixes:
 			(\.part|\.bak|~)?
@@ -41,7 +41,7 @@ PREVIEW_BLACKLIST = re.compile(r"""
 		$
 """, re.VERBOSE | re.IGNORECASE)
 
-class BrowserColumn(Pager, Widget):
+class BrowserColumn(Pager):
 	main_column = False
 	display_infostring = False
 	scroll_begin = 0
@@ -53,6 +53,14 @@ class BrowserColumn(Pager, Widget):
 	old_cf = None
 
 	def __init__(self, win, level):
+		"""
+		win = the curses window object of the BrowserView
+		level = what to display?
+
+		level >0 => previews
+		level 0 => current file/directory
+		level <0 => parent directories
+		"""
 		Pager.__init__(self, win)
 		Widget.__init__(self, win)
 		self.level = level
@@ -100,6 +108,10 @@ class BrowserColumn(Pager, Widget):
 			if not self._preview_this_file(self.target):
 				return False
 
+		if self.target.is_directory:
+			if self.level > 0 and not self.settings.preview_directories:
+				return False
+
 		return True
 
 	def poke(self):
@@ -108,13 +120,12 @@ class BrowserColumn(Pager, Widget):
 
 	def draw(self):
 		"""Call either _draw_file() or _draw_directory()"""
-		from ranger import log
-
 		if self.target != self.old_dir:
 			self.need_redraw = True
 			self.old_dir = self.target
 
-		if self.target and self.target.is_directory:
+		if self.target and self.target.is_directory \
+				and (self.level <= 0 or self.settings.preview_directories):
 			if self.target.pointed_obj != self.old_cf:
 				self.need_redraw = True
 				self.old_cf = self.target.pointed_obj
@@ -167,6 +178,9 @@ class BrowserColumn(Pager, Widget):
 		"""Draw the contents of a directory"""
 		import stat
 
+		if self.level > 0 and not self.settings.preview_directories:
+			return
+
 		base_color = ['in_browser']
 
 		self.target.use()
@@ -207,7 +221,7 @@ class BrowserColumn(Pager, Widget):
 
 			this_color = base_color + list(drawed.mimetype_tuple)
 			text = drawed.basename
-			tagged = drawed.realpath in self.fm.tags
+			tagged = self.fm.tags and drawed.realpath in self.fm.tags
 
 			if i == selected_i:
 				this_color.append('selected')
diff --git a/ranger/gui/widgets/browserview.py b/ranger/gui/widgets/browserview.py
index 080f1be0..8d6dc611 100644
--- a/ranger/gui/widgets/browserview.py
+++ b/ranger/gui/widgets/browserview.py
@@ -14,6 +14,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 """The BrowserView manages a set of BrowserColumns."""
+import curses
 from . import Widget
 from .browsercolumn import BrowserColumn
 from .pager import Pager
@@ -31,10 +32,13 @@ class BrowserView(Widget, DisplayableContainer):
 		DisplayableContainer.__init__(self, win)
 		self.ratios = ratios
 		self.preview = preview
+		self.old_cf = self.env.cf
+		self.old_prevfile = None
+		self.old_prevdir = None
 
 		# normalize ratios:
 		ratio_sum = float(sum(ratios))
-		self.ratios = tuple(map(lambda x: x / ratio_sum, ratios))
+		self.ratios = tuple(x / ratio_sum for x in ratios)
 
 		if len(self.ratios) >= 2:
 			self.stretch_ratios = self.ratios[:-2] + \
@@ -64,11 +68,23 @@ class BrowserView(Widget, DisplayableContainer):
 		if self.draw_bookmarks:
 			self._draw_bookmarks()
 		else:
+			if self.old_cf != self.env.cf:
+				self.need_clear = True
+			if self.settings.draw_borders:
+				if self.old_prevdir != self.settings.preview_directories:
+					self.need_clear = True
+				if self.old_prevfile != self.settings.preview_files:
+					self.need_clear = True
 			if self.need_clear:
 				self.win.erase()
 				self.need_redraw = True
 				self.need_clear = False
+				self.old_cf = self.env.cf
+				self.old_prevfile = self.settings.preview_files
+				self.old_prevdir = self.settings.preview_directories
 			DisplayableContainer.draw(self)
+			if self.settings.draw_borders:
+				self._draw_borders()
 
 	def finalize(self):
 		if self.pager.visible:
@@ -105,32 +121,90 @@ class BrowserView(Widget, DisplayableContainer):
 			string = " " + key + ": " + mark.path
 			self.addnstr(line, 0, string.ljust(maxlen), self.wid)
 
+	def _draw_borders(self):
+		win = self.win
+		self.color('in_browser', 'border')
+
+		left_start = 0
+		right_end = self.wid - 1
+
+		rows = [row for row in self.container \
+				if isinstance(row, BrowserColumn)]
+		rows.sort(key=lambda row: row.x)
+
+		for child in rows:
+			if not child.has_preview():
+				left_start = child.x + child.wid
+			else:
+				break
+		if not self.pager.visible:
+			for child in reversed(rows):
+				if not child.has_preview():
+					right_end = child.x - 1
+				else:
+					break
+			if right_end < left_start:
+				right_end = self.wid - 1
+
+		win.hline(0, left_start, curses.ACS_HLINE, right_end - left_start)
+		win.hline(self.hei - 1, left_start, curses.ACS_HLINE,
+				right_end - left_start)
+		win.vline(1, left_start, curses.ACS_VLINE, self.hei - 2)
+
+		for child in rows:
+			if not child.has_preview():
+				continue
+			if child.main_column and self.pager.visible:
+				win.vline(1, right_end, curses.ACS_VLINE, self.hei - 2)
+				break
+			x = child.x + child.wid
+			y = self.hei - 1
+			try:
+				win.vline(1, x, curses.ACS_VLINE, y - 1)
+				win.addch(0, x, curses.ACS_TTEE, 0)
+				win.addch(y, x, curses.ACS_BTEE, 0)
+			except:
+				# in case it's off the boundaries
+				pass
+
+		win.addch(0, left_start, curses.ACS_ULCORNER)
+		win.addch(self.hei - 1, left_start, curses.ACS_LLCORNER)
+		win.addch(0, right_end, curses.ACS_URCORNER)
+		try:
+			win.addch(self.hei - 1, right_end, curses.ACS_LRCORNER)
+		except:
+			pass
+
 	def resize(self, y, x, hei, wid):
 		"""Resize all the columns according to the given ratio"""
 		DisplayableContainer.resize(self, y, x, hei, wid)
-		left = 0
+		borders = self.settings.draw_borders
+		pad = 1 if borders else 0
+		left = pad
 
 		cut_off_last = self.preview and not self.preview_available \
 				and self.stretch_ratios
 
 		if cut_off_last:
-			generator = zip(self.stretch_ratios, range(len(self.ratios)))
+			generator = enumerate(self.stretch_ratios)
 		else:
-			generator = zip(self.ratios, range(len(self.ratios)))
+			generator = enumerate(self.ratios)
 
 		last_i = len(self.ratios) - 1
 
-		for ratio, i in generator:
+		for i, ratio in generator:
 			wid = int(ratio * self.wid)
 
 			if i == last_i:
-				wid = int(self.wid - left + 1)
+				wid = int(self.wid - left + 1 - pad)
 
 			if i == last_i - 1:
-				self.pager.resize(0, left, hei, max(1, self.wid - left))
+				self.pager.resize(pad, left, hei - pad * 2, \
+						max(1, self.wid - left - pad))
 
 			try:
-				self.container[i].resize(0, left, hei, max(1, wid-1))
+				self.container[i].resize(pad, left, hei - pad * 2, \
+						max(1, wid - 1))
 			except KeyError:
 				pass
 
@@ -148,6 +222,7 @@ class BrowserView(Widget, DisplayableContainer):
 	def open_pager(self):
 		self.pager.visible = True
 		self.pager.focused = True
+		self.need_clear = True
 		self.pager.open()
 		try:
 			self.container[-2].visible = False
@@ -158,6 +233,7 @@ class BrowserView(Widget, DisplayableContainer):
 	def close_pager(self):
 		self.pager.visible = False
 		self.pager.focused = False
+		self.need_clear = True
 		self.pager.close()
 		try:
 			self.container[-2].visible = True
diff --git a/ranger/gui/widgets/console.py b/ranger/gui/widgets/console.py
index 7ed00a7e..4dea98c7 100644
--- a/ranger/gui/widgets/console.py
+++ b/ranger/gui/widgets/console.py
@@ -23,7 +23,7 @@ import curses
 from collections import deque
 
 from . import Widget
-from ranger import commands
+from ranger.defaults import commands
 from ranger.gui.widgets.console_mode import is_valid_mode, mode_to_class
 from ranger import log
 from ranger.ext.shell_escape import shell_quote
@@ -129,9 +129,13 @@ class Console(Widget):
 	def press(self, key):
 		from curses.ascii import ctrl, ESC
 
+		keytuple = self.env.keybuffer.tuple_with_numbers()
 		try:
-			cmd = self.commandlist[self.env.keybuffer.tuple_with_numbers()]
+			cmd = self.commandlist[keytuple]
 		except KeyError:
+			# An unclean hack to allow unicode input.
+			# This whole part should be replaced.
+			self.type_key(chr(keytuple[0]))
 			self.env.key_clear()
 			return
 
@@ -292,26 +296,17 @@ class CommandConsole(ConsoleWithTab):
 			self.close()
 
 	def _get_cmd(self):
-		command_class = self._get_cmd_class()
-		if command_class:
-			return command_class(self.line, self.mode)
-		else:
-			return None
-
-	def _get_cmd_class(self):
 		try:
-			command_name = self.line.split()[0]
-		except IndexError:
-			return None
-
-		try:
-			return commands.get_command(command_name)
+			command_class = self._get_cmd_class()
 		except KeyError:
 			self.fm.notify("Invalid command! Press ? for help.", bad=True)
+		except:
 			return None
-		except ValueError as e:
-			self.fm.notify(e)
-			return None
+		else:
+			return command_class(self.line, self.mode)
+
+	def _get_cmd_class(self):
+		return commands.get_command(self.line.split()[0])
 
 	def _get_tab(self):
 		if ' ' in self.line:
@@ -339,9 +334,14 @@ class QuickCommandConsole(CommandConsole):
 	"""
 	prompt = '>'
 	def on_line_change(self):
-		cmd = self._get_cmd()
-		if cmd and cmd.quick_open():
-			self.execute(cmd)
+		try:
+			cls = self._get_cmd_class()
+		except (KeyError, ValueError, IndexError):
+			pass
+		else:
+			cmd = cls(self.line, self.mode)
+			if cmd and cmd.quick_open():
+				self.execute(cmd)
 
 
 class SearchConsole(Console):
@@ -352,11 +352,11 @@ class SearchConsole(Console):
 
 	def execute(self):
 		import re
-		if self.fm.env.pwd:
+		if self.fm.env.cwd:
 			regexp = re.compile(self.line, re.L | re.U | re.I)
 			self.fm.env.last_search = regexp
 			if self.fm.search(order='search'):
-				self.fm.env.cf = self.fm.env.pwd.pointed_obj
+				self.fm.env.cf = self.fm.env.cwd.pointed_obj
 		self.close()
 
 
@@ -414,7 +414,7 @@ class OpenConsole(ConsoleWithTab):
 		else:
 			before_word, start_of_word = self.line.rsplit(' ', 1)
 			return (before_word + ' ' + file.shell_escaped_basename \
-					for file in self.fm.env.pwd.files \
+					for file in self.fm.env.cwd.files \
 					if file.shell_escaped_basename.startswith(start_of_word))
 
 	def _substitute_metachars(self, command):
@@ -576,10 +576,11 @@ class QuickOpenConsole(ConsoleWithTab):
 
 
 	def _is_app(self, arg):
-		return self.fm.apps.has(arg)
+		return self.fm.apps.has(arg) or \
+			(not self._is_flags(arg) and arg in self.fm.executables)
 
 	def _is_flags(self, arg):
-		from ranger.runner import ALLOWED_FLAGS
+		from ranger.core.runner import ALLOWED_FLAGS
 		return all(x in ALLOWED_FLAGS for x in arg)
 
 	def _is_mode(self, arg):
diff --git a/ranger/gui/widgets/pager.py b/ranger/gui/widgets/pager.py
index 03a421cf..c5ed8af1 100644
--- a/ranger/gui/widgets/pager.py
+++ b/ranger/gui/widgets/pager.py
@@ -229,7 +229,7 @@ class Pager(Widget):
 		while True:
 			try:
 				line = self._get_line(i).expandtabs(4)
-				line = line[startx:self.wid - 1 + startx].rstrip()
+				line = line[startx:self.wid + startx].rstrip()
 				yield line
 			except IndexError:
 				raise StopIteration
diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py
index f15156df..6f52f8ef 100644
--- a/ranger/gui/widgets/statusbar.py
+++ b/ranger/gui/widgets/statusbar.py
@@ -81,8 +81,8 @@ class StatusBar(Widget):
 		if not self.result:
 			self.need_redraw = True
 
-		if self.old_du and not self.env.pwd.disk_usage:
-			self.old_du = self.env.pwd.disk_usage
+		if self.old_du and not self.env.cwd.disk_usage:
+			self.old_du = self.env.cwd.disk_usage
 			self.need_redraw = True
 
 		if self.old_cf != self.env.cf:
@@ -135,7 +135,8 @@ class StatusBar(Widget):
 	def _get_left_part(self, bar):
 		left = bar.left
 
-		if self.column is not None:
+		if self.column is not None and self.column.target is not None\
+				and self.column.target.is_directory:
 			target = self.column.target.pointed_obj
 		else:
 			target = self.env.at_level(0).pointed_obj
@@ -195,6 +196,8 @@ class StatusBar(Widget):
 			return
 
 		target = self.column.target
+		if target is None:
+			return
 
 		if not target.content_loaded or not target.accessible:
 			return
diff --git a/ranger/gui/widgets/titlebar.py b/ranger/gui/widgets/titlebar.py
index cb6e8cdd..e1be8e97 100644
--- a/ranger/gui/widgets/titlebar.py
+++ b/ranger/gui/widgets/titlebar.py
@@ -54,20 +54,14 @@ class TitleBar(Widget):
 		self.result = bar.combine()
 
 	def _get_left_part(self, bar):
-		import socket, os, pwd
-
-		try:
-			username = pwd.getpwuid(os.geteuid()).pw_name
-		except:
-			username = "???"
-		if username == 'root':
+		if self.env.username == 'root':
 			clr = 'bad'
 		else:
 			clr = 'good'
 
-		bar.add(username, 'hostname', clr, fixedsize=True)
+		bar.add(self.env.username, 'hostname', clr, fixedsize=True)
 		bar.add('@', 'hostname', clr, fixedsize=True)
-		bar.add(socket.gethostname(), 'hostname', clr, fixedsize=True)
+		bar.add(self.env.hostname, 'hostname', clr, fixedsize=True)
 
 		for path in self.env.pathway:
 			if path.islink:
diff --git a/ranger/help/console.py b/ranger/help/console.py
index 7ba15799..3a4428f3 100644
--- a/ranger/help/console.py
+++ b/ranger/help/console.py
@@ -127,7 +127,7 @@ one unambiguous match, <RETURN> will be pressed for you, giving you a
 very fast way to browse your files.
 
 
-All commands are defined in ranger/commands.py.  You can refer to this
+All commands are defined in ranger/defaults/commands.py.  You can refer to this
 file for a list of commands.  Implementing new commands should be intuitive:
 Create a new class, a subclass of Command, and define the execute method
 is usually enough.  For parsing command input, the command parser in
diff --git a/ranger/help/fileop.py b/ranger/help/fileop.py
index 5b7a0f0b..53ce9ff8 100644
--- a/ranger/help/fileop.py
+++ b/ranger/help/fileop.py
@@ -19,6 +19,7 @@
 4.1. Destructive Operations
 4.2. The Selection
 4.3. Copying and Pasting
+4.4. Task View
 
 
 ==============================================================================
@@ -28,7 +29,7 @@ These are all the operations which can change, and with misuse, possibly
 harm your files:
 
 :chmod <number>    Change the rights of the selection
-:delete            DELETES ALL FILES IN THE SELECTION WITHOUT CONFIRMATION
+:delete            DELETES ALL FILES IN THE SELECTION
 :rename <newname>  Change the name of the current file
 pp, pl, po         Pastes the copied files in different ways
 
@@ -74,6 +75,26 @@ If renaming is not possible because the source and the destination are
 on separate devices, it will be copied and eventually the source is deleted.
 This implies that a file can only be cut + pasted once.
 
+
+==============================================================================
+4.4. Task View
+
+The task view lets you manage IO tasks like copying, moving and
+loading directories by changing their priority or stop them.
+
+	w	open or close the task view
+	dd	stop the task
+	J	decrease the priority of the task
+	K	increase the priority of the task
+
+The execution of tasks is not parallel but sequential.  Only the
+topmost task is executed.  Ranger constantly switches between
+handling GUI and executing tasks.  One movement of the throbber at
+the top right represents such a switch, so while the throbber is
+standing still, ranger is locked by a Input/Output operation and
+you will not be able to input any commands.
+
+
 ==============================================================================
 """
 # vim:tw=78:sw=4:sts=8:ts=8:ft=help
diff --git a/ranger/help/movement.py b/ranger/help/movement.py
index 28e2c38b..a0407838 100644
--- a/ranger/help/movement.py
+++ b/ranger/help/movement.py
@@ -58,8 +58,8 @@ Special keys like Home, Page Up,.. work as expected.
 
 These keys work like in vim:
 
-	^D      move half the screen up
-	^U      move half the screen down
+	^U      move half the screen up
+	^D      move half the screen down
 	^B      move up by one screen
 	^F      move down by one screen
 
diff --git a/ranger/shared/mimetype.py b/ranger/shared/mimetype.py
index 93015a73..1a7f79a0 100644
--- a/ranger/shared/mimetype.py
+++ b/ranger/shared/mimetype.py
@@ -13,16 +13,13 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-from ranger.ext.relpath import relpath
+from ranger import relpath
+import mimetypes
 class MimeTypeAware(object):
 	mimetypes = {}
 	__initialized = False
 	def __init__(self):
 		if not MimeTypeAware.__initialized:
+			MimeTypeAware.mimetypes = mimetypes.MimeTypes()
+			MimeTypeAware.mimetypes.read(relpath('data/mime.types'))
 			MimeTypeAware.__initialized = True
-			import os, sys, pickle
-			MimeTypeAware.mimetypes.clear()
-
-			f = open(relpath('data/mime.dat'), 'rb')
-			MimeTypeAware.mimetypes.update(pickle.load(f))
-			f.close()
diff --git a/ranger/shared/settings.py b/ranger/shared/settings.py
index b549bd20..cdddd623 100644
--- a/ranger/shared/settings.py
+++ b/ranger/shared/settings.py
@@ -13,7 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+import os
 import types
+from inspect import isclass, ismodule
+import ranger
 from ranger.ext.openstruct import OpenStruct
 from ranger.gui.colorscheme import ColorScheme
 
@@ -22,16 +25,19 @@ ALLOWED_SETTINGS = {
 	'show_cursor': bool,
 	'autosave_bookmarks': bool,
 	'collapse_preview': bool,
+	'draw_borders': bool,
 	'sort': str,
 	'reverse': bool,
 	'directories_first': bool,
 	'update_title': bool,
+	'shorten_title': int,  # Note: False is an instance of int
 	'max_filesize_for_preview': (int, type(None)),
 	'max_history_size': (int, type(None)),
 	'scroll_offset': int,
 	'preview_files': bool,
+	'preview_directories': bool,
 	'flushinput': bool,
-	'colorscheme': (ColorScheme, types.ModuleType),
+	'colorscheme': str,
 	'hidden_filter': lambda x: isinstance(x, str) or hasattr(x, 'match'),
 }
 
@@ -41,67 +47,91 @@ class SettingsAware(object):
 
 	@staticmethod
 	def _setup():
-		from inspect import isclass, ismodule
-		from ranger.gui.colorscheme import ColorScheme
+		settings = OpenStruct()
 
-		# overwrite single default options with custom options
 		from ranger.defaults import options
-		try:
-			import options as custom_options
-			for setting in ALLOWED_SETTINGS:
-				if hasattr(custom_options, setting):
-					setattr(options, setting, getattr(custom_options, setting))
-				elif not hasattr(options, setting):
-					raise Exception("This option was not defined: " + setting)
-		except ImportError:
-			pass
+		for setting in ALLOWED_SETTINGS:
+			try:
+				settings[setting] = getattr(options, setting)
+			except AttributeError:
+				raise Exception("The option `{0}' was not defined" \
+						" in the defaults!".format(setting))
+
+		import sys
+		if not ranger.arg.clean:
+			# overwrite single default options with custom options
+			try:
+				import options as my_options
+			except ImportError:
+				pass
+			else:
+				for setting in ALLOWED_SETTINGS:
+					try:
+						settings[setting] = getattr(my_options, setting)
+					except AttributeError:
+						pass
 
-		assert check_option_types(options)
+		assert check_option_types(settings)
 
-		try:
-			import apps
-		except ImportError:
-			from ranger.defaults import apps
-
-		try:
-			import keys
-		except ImportError:
-			from ranger.defaults import keys
+		# Find the colorscheme.  First look for it at ~/.ranger/colorschemes,
+		# then at RANGERDIR/colorschemes.  If the file contains a class
+		# named Scheme, it is used.  Otherwise, an arbitrary other class
+		# is picked.
 
+		scheme_name = settings.colorscheme
 
-		# If a module is specified as the colorscheme, replace it with one
-		# valid colorscheme inside that module.
+		def exists(colorscheme):
+			return os.path.exists(colorscheme + '.py')
 
-		all_content = options.colorscheme.__dict__.items()
+		def is_scheme(x):
+			return isclass(x) and issubclass(x, ColorScheme)
 
-		if isclass(options.colorscheme) and \
-				issubclass(options.colorscheme, ColorScheme):
-			options.colorscheme = options.colorscheme()
+		# create ~/.ranger/colorschemes/__init__.py if it doesn't exist
+		if os.path.exists(ranger.relpath_conf('colorschemes')):
+			initpy = ranger.relpath_conf('colorschemes', '__init__.py')
+			if not os.path.exists(initpy):
+				open(initpy, 'a').close()
 
-		elif ismodule(options.colorscheme):
-			def is_scheme(x):
-				return isclass(x) and issubclass(x, ColorScheme)
+		if exists(ranger.relpath_conf('colorschemes', scheme_name)):
+			scheme_supermodule = 'colorschemes'
+		elif exists(ranger.relpath('colorschemes', scheme_name)):
+			scheme_supermodule = 'ranger.colorschemes'
+		else:
+			scheme_supermodule = None  # found no matching file.
 
-			if hasattr(options.colorscheme, 'Scheme') \
-					and is_scheme(options.colorscheme.Scheme):
-				options.colorscheme = options.colorscheme.Scheme()
+		if scheme_supermodule is None:
+			print("ERROR: colorscheme not found, fall back to builtin scheme")
+			if ranger.arg.debug:
+				raise Exception("Cannot locate colorscheme!")
+			settings.colorscheme = ColorScheme()
+		else:
+			scheme_module = getattr(__import__(scheme_supermodule,
+					globals(), locals(), [scheme_name], 0), scheme_name)
+			assert ismodule(scheme_module)
+			if hasattr(scheme_module, 'Scheme') \
+					and is_scheme(scheme_module.Scheme):
+				settings.colorscheme = scheme_module.Scheme()
 			else:
-				for name, var in options.colorscheme.__dict__.items():
+				for name, var in scheme_module.__dict__.items():
 					if var != ColorScheme and is_scheme(var):
-						options.colorscheme = var()
+						settings.colorscheme = var()
 						break
 				else:
 					raise Exception("The module contains no " \
 							"valid colorscheme!")
-		else:
-			raise Exception("Cannot locate colorscheme!")
 
-		for setting in ALLOWED_SETTINGS:
-			SettingsAware.settings[setting] = getattr(options, setting)
-
-		SettingsAware.settings.keys = keys
-		SettingsAware.settings.apps = apps
+		try:
+			import apps
+		except ImportError:
+			from ranger.defaults import apps
+		settings.apps = apps
+		try:
+			import keys
+		except ImportError:
+			from ranger.defaults import keys
+		settings.keys = keys
 
+		SettingsAware.settings = settings
 
 def check_option_types(opt):
 	import inspect
diff --git a/test/tc_colorscheme.py b/test/tc_colorscheme.py
index c09b9fa9..dbaac1f9 100644
--- a/test/tc_colorscheme.py
+++ b/test/tc_colorscheme.py
@@ -24,6 +24,8 @@ from ranger.gui.context import CONTEXT_KEYS
 class Test(TestCase):
 	def setUp(self):
 		import random
+		import curses
+		curses.COLORS = 88
 		schemes = []
 		for key, mod in vars(ranger.colorschemes).items():
 			if type(mod) == type(random):