summary refs log tree commit diff stats
path: root/doc
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-01-02 00:10:49 +0100
committerhut <hut@lavabit.com>2010-01-02 00:10:49 +0100
commit4c13e1f2d85483e026d79ab05da9f1e8e4b45293 (patch)
treeeaf055bbc6134fd42014fbff00c208d57768b072 /doc
parent2ca2e862e616eba862ac80f5ee0003d1aa984a32 (diff)
downloadranger-4c13e1f2d85483e026d79ab05da9f1e8e4b45293.tar.gz
updated pydoc documentation
Diffstat (limited to 'doc')
-rw-r--r--doc/pydoc/os.html8
-rw-r--r--doc/pydoc/ranger.__main__.html31
-rw-r--r--doc/pydoc/ranger.actions.html37
-rw-r--r--doc/pydoc/ranger.applications.html110
-rw-r--r--doc/pydoc/ranger.commands.html217
-rw-r--r--doc/pydoc/ranger.container.bookmarks.html69
-rw-r--r--doc/pydoc/ranger.container.commandlist.html31
-rw-r--r--doc/pydoc/ranger.container.environment.html11
-rw-r--r--doc/pydoc/ranger.container.history.html2
-rw-r--r--doc/pydoc/ranger.container.html1
-rw-r--r--doc/pydoc/ranger.container.tags.html59
-rw-r--r--doc/pydoc/ranger.defaults.apps.html38
-rw-r--r--doc/pydoc/ranger.defaults.keys.html29
-rw-r--r--doc/pydoc/ranger.defaults.options.html3
-rw-r--r--doc/pydoc/ranger.ext.accumulator.html4
-rw-r--r--doc/pydoc/ranger.ext.command_parser.html55
-rw-r--r--doc/pydoc/ranger.ext.html5
-rw-r--r--doc/pydoc/ranger.ext.move.html22
-rw-r--r--doc/pydoc/ranger.ext.shutil_generatorized.html4
-rw-r--r--doc/pydoc/ranger.ext.trim.html31
-rw-r--r--doc/pydoc/ranger.fm.html41
-rw-r--r--doc/pydoc/ranger.fsobject.directory.html20
-rw-r--r--doc/pydoc/ranger.fsobject.html2
-rw-r--r--doc/pydoc/ranger.gui.bar.html213
-rw-r--r--doc/pydoc/ranger.gui.colorscheme.html2
-rw-r--r--doc/pydoc/ranger.gui.curses_shortcuts.html88
-rw-r--r--doc/pydoc/ranger.gui.defaultui.html58
-rw-r--r--doc/pydoc/ranger.gui.displayable.html224
-rw-r--r--doc/pydoc/ranger.gui.html10
-rw-r--r--doc/pydoc/ranger.gui.ui.html47
-rw-r--r--doc/pydoc/ranger.gui.widgets.browsercolumn.html164
-rw-r--r--doc/pydoc/ranger.gui.widgets.browserview.html138
-rw-r--r--doc/pydoc/ranger.gui.widgets.console.html416
-rw-r--r--doc/pydoc/ranger.gui.widgets.console_mode.html37
-rw-r--r--doc/pydoc/ranger.gui.widgets.html56
-rw-r--r--doc/pydoc/ranger.gui.widgets.pager.html133
-rw-r--r--doc/pydoc/ranger.gui.widgets.statusbar.html108
-rw-r--r--doc/pydoc/ranger.gui.widgets.taskview.html151
-rw-r--r--doc/pydoc/ranger.gui.widgets.titlebar.html233
-rw-r--r--doc/pydoc/ranger.html20
-rw-r--r--doc/pydoc/ranger.keyapi.html413
-rw-r--r--doc/pydoc/ranger.shared.settings.html4
-rw-r--r--doc/pydoc/sys.html6
-rw-r--r--doc/pydoc/test.html14
-rw-r--r--doc/pydoc/test.tc_bookmarks.html304
-rw-r--r--doc/pydoc/test.tc_colorscheme.html2
-rw-r--r--doc/pydoc/test.tc_keyapi.html282
-rw-r--r--doc/pydoc/test.tc_ui.html2
48 files changed, 3167 insertions, 788 deletions
diff --git a/doc/pydoc/os.html b/doc/pydoc/os.html
index fc746061..605e4269 100644
--- a/doc/pydoc/os.html
+++ b/doc/pydoc/os.html
@@ -85,7 +85,7 @@ Methods defined here:<br>
 
 <hr>
 Data and other attributes defined here:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94afc0&gt;<dd><tt>T.<a href="#error-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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 at 0x7f20a8d46fc0&gt;<dd><tt>T.<a href="#error-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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="builtins.html#EnvironmentError">EnvironmentError</a>:<br>
@@ -225,7 +225,7 @@ Data descriptors defined here:<br>
 </dl>
 <hr>
 Data and other attributes defined here:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d99e840&gt;<dd><tt>T.<a href="#stat_result-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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 at 0x7f20a8d9a840&gt;<dd><tt>T.<a href="#stat_result-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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>
 
@@ -303,7 +303,7 @@ Data descriptors defined here:<br>
 </dl>
 <hr>
 Data and other attributes defined here:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d99e9e0&gt;<dd><tt>T.<a href="#statvfs_result-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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 at 0x7f20a8d9a9e0&gt;<dd><tt>T.<a href="#statvfs_result-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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>
 
@@ -897,7 +897,7 @@ Write&nbsp;a&nbsp;string&nbsp;to&nbsp;a&nbsp;file&nbsp;descriptor.</tt></dd></dl
 <strong>curdir</strong> = '.'<br>
 <strong>defpath</strong> = ':/bin:/usr/bin'<br>
 <strong>devnull</strong> = '/dev/null'<br>
-<strong>environ</strong> = &lt;os._Environ object at 0x7f327c987e50&gt;<br>
+<strong>environ</strong> = &lt;os._Environ object at 0x7f20a7d83e50&gt;<br>
 <strong>linesep</strong> = '<font color="#c040c0">\n</font>'<br>
 <strong>name</strong> = 'posix'<br>
 <strong>pardir</strong> = '..'<br>
diff --git a/doc/pydoc/ranger.__main__.html b/doc/pydoc/ranger.__main__.html
new file mode 100644
index 00000000..ab0dddb2
--- /dev/null
+++ b/doc/pydoc/ranger.__main__.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.__main__</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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>.__main__</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/work/ranger/ranger/__main__.py">/home/hut/work/ranger/ranger/__main__.py</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="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="#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="-main"><strong>main</strong></a>()</dt><dd><tt>initialize&nbsp;objects&nbsp;and&nbsp;run&nbsp;the&nbsp;filemanager</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
index 4d700dc7..6311dad3 100644
--- a/doc/pydoc/ranger.actions.html
+++ b/doc/pydoc/ranger.actions.html
@@ -17,10 +17,11 @@
 <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.fsobject.html">ranger.fsobject</a><br>
+<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="ranger.fsobject.html">ranger.fsobject</a><br>
 </td><td width="25%" valign=top><a href="os.html">os</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>
+</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>
@@ -65,13 +66,21 @@ Methods defined here:<br>
 
 <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_log"><strong>display_log</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="Actions-edit_file"><strong>edit_file</strong></a>(self)</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)</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_file"><strong>execute_file</strong></a>(self, files, app<font color="#909090">=''</font>, flags<font color="#909090">=''</font>, mode<font color="#909090">=0</font>)</dt><dd><tt>Execute&nbsp;a&nbsp;file.<br>
+<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;applications.ALLOWED_FLAGS<br>
 mode&nbsp;is&nbsp;a&nbsp;positive&nbsp;integer.<br>
@@ -115,27 +124,39 @@ val&nbsp;-&nbsp;mark&nbsp;or&nbsp;unmark?</tt></dd></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-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_backward"><strong>search_backward</strong></a>(self)</dt><dd><tt>Search&nbsp;backward&nbsp;for&nbsp;the&nbsp;regexp&nbsp;in&nbsp;self.<strong>env</strong>.last_search</tt></dd></dl>
-
-<dl><dt><a name="Actions-search_forward"><strong>search_forward</strong></a>(self)</dt><dd><tt>Search&nbsp;forward&nbsp;for&nbsp;the&nbsp;regexp&nbsp;in&nbsp;self.<strong>env</strong>.last_search</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-spawn"><strong>spawn</strong></a>(self, command)</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>
 
@@ -149,7 +170,7 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 </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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&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
index 822ec412..6cda3202 100644
--- a/doc/pydoc/ranger.applications.html
+++ b/doc/pydoc/ranger.applications.html
@@ -30,7 +30,8 @@
 <dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
 </font></dt><dd>
 <dl>
-<dt><font face="helvetica, arial"><a href="ranger.applications.html#Applications">Applications</a>
+<dt><font face="helvetica, arial"><a href="ranger.applications.html#AppContext">AppContext</a>
+</font></dt><dt><font face="helvetica, arial"><a href="ranger.applications.html#Applications">Applications</a>
 </font></dt></dl>
 </dd>
 </dl>
@@ -38,12 +39,106 @@
 <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="AppContext">class <strong>AppContext</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
+    
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
+<td colspan=2><tt>An&nbsp;<a href="#AppContext">AppContext</a>&nbsp;<a href="builtins.html#object">object</a>&nbsp;abstracts&nbsp;the&nbsp;spawning&nbsp;of&nbsp;processes.<br>
+&nbsp;<br>
+At&nbsp;initialization&nbsp;of&nbsp;the&nbsp;<a href="builtins.html#object">object</a>&nbsp;you&nbsp;can&nbsp;define&nbsp;many&nbsp;high-level&nbsp;options.<br>
+When&nbsp;you&nbsp;call&nbsp;the&nbsp;<a href="#AppContext-run">run</a>()&nbsp;function,&nbsp;those&nbsp;options&nbsp;are&nbsp;evaluated&nbsp;and<br>
+translated&nbsp;into&nbsp;Popen()&nbsp;calls.<br>
+&nbsp;<br>
+An&nbsp;instances&nbsp;of&nbsp;this&nbsp;class&nbsp;is&nbsp;passed&nbsp;as&nbsp;the&nbsp;only&nbsp;argument&nbsp;to<br>
+app_xyz&nbsp;calls&nbsp;of&nbsp;the&nbsp;<a href="#Applications">Applications</a>&nbsp;<a href="builtins.html#object">object</a>.<br>
+&nbsp;<br>
+Attributes:<br>
+action&nbsp;--&nbsp;a&nbsp;string&nbsp;with&nbsp;a&nbsp;command&nbsp;or&nbsp;a&nbsp;list&nbsp;of&nbsp;arguments&nbsp;for<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Popen&nbsp;call.<br>
+app&nbsp;--&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;app&nbsp;function.&nbsp;("vim"&nbsp;for&nbsp;app_vim.)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app&nbsp;is&nbsp;used&nbsp;to&nbsp;get&nbsp;an&nbsp;action&nbsp;if&nbsp;the&nbsp;user&nbsp;didn't&nbsp;specify&nbsp;one.<br>
+mode&nbsp;--&nbsp;a&nbsp;number,&nbsp;mainly&nbsp;used&nbsp;in&nbsp;determining&nbsp;the&nbsp;action&nbsp;in&nbsp;app_xyz()<br>
+flags&nbsp;--&nbsp;a&nbsp;string&nbsp;with&nbsp;flags&nbsp;which&nbsp;change&nbsp;the&nbsp;way&nbsp;programs&nbsp;are&nbsp;run<br>
+files&nbsp;--&nbsp;a&nbsp;list&nbsp;containing&nbsp;files,&nbsp;mainly&nbsp;used&nbsp;in&nbsp;app_xyz<br>
+file&nbsp;--&nbsp;an&nbsp;arbitrary&nbsp;file&nbsp;from&nbsp;that&nbsp;list&nbsp;(or&nbsp;None)<br>
+fm&nbsp;--&nbsp;the&nbsp;filemanager&nbsp;instance<br>
+wait&nbsp;--&nbsp;boolean,&nbsp;wait&nbsp;for&nbsp;the&nbsp;end&nbsp;or&nbsp;execute&nbsp;programs&nbsp;in&nbsp;parallel?<br>
+stdout&nbsp;--&nbsp;directly&nbsp;passed&nbsp;to&nbsp;Popen<br>
+stderr&nbsp;--&nbsp;directly&nbsp;passed&nbsp;to&nbsp;Popen<br>
+stdin&nbsp;--&nbsp;directly&nbsp;passed&nbsp;to&nbsp;Popen<br>
+shell&nbsp;--&nbsp;directly&nbsp;passed&nbsp;to&nbsp;Popen.&nbsp;Should&nbsp;the&nbsp;string&nbsp;be&nbsp;shell-interpreted?<br>
+&nbsp;<br>
+List&nbsp;of&nbsp;allowed&nbsp;flags:<br>
+s:&nbsp;silent&nbsp;mode.&nbsp;output&nbsp;will&nbsp;be&nbsp;discarded.<br>
+d:&nbsp;detach&nbsp;the&nbsp;process.<br>
+p:&nbsp;redirect&nbsp;output&nbsp;to&nbsp;the&nbsp;pager<br>
+&nbsp;<br>
+An&nbsp;uppercase&nbsp;key&nbsp;ensures&nbsp;that&nbsp;a&nbsp;certain&nbsp;flag&nbsp;will&nbsp;not&nbsp;be&nbsp;used.<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="AppContext-__init__"><strong>__init__</strong></a>(self, app<font color="#909090">='default'</font>, files<font color="#909090">=None</font>, mode<font color="#909090">=0</font>, flags<font color="#909090">=''</font>, fm<font color="#909090">=None</font>, stdout<font color="#909090">=None</font>, stderr<font color="#909090">=None</font>, stdin<font color="#909090">=None</font>, shell<font color="#909090">=None</font>, wait<font color="#909090">=True</font>, action<font color="#909090">=None</font>)</dt><dd><tt>The&nbsp;necessary&nbsp;parameters&nbsp;are&nbsp;fm&nbsp;and&nbsp;action&nbsp;or&nbsp;app.</tt></dd></dl>
+
+<dl><dt><a name="AppContext-__iter__"><strong>__iter__</strong></a>(self)</dt><dd><tt>Iterates&nbsp;over&nbsp;all&nbsp;file&nbsp;paths</tt></dd></dl>
+
+<dl><dt><a name="AppContext-get_action"><strong>get_action</strong></a>(self, apps<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;the&nbsp;action&nbsp;from&nbsp;app_xyz</tt></dd></dl>
+
+<dl><dt><a name="AppContext-run"><strong>run</strong></a>(self)</dt><dd><tt>Run&nbsp;the&nbsp;application&nbsp;in&nbsp;the&nbsp;way&nbsp;specified&nbsp;by&nbsp;the&nbsp;options.<br>
+&nbsp;<br>
+This&nbsp;function&nbsp;ensures&nbsp;that&nbsp;there&nbsp;is&nbsp;an&nbsp;action.</tt></dd></dl>
+
+<dl><dt><a name="AppContext-squash_flags"><strong>squash_flags</strong></a>(self)</dt><dd><tt>Remove&nbsp;duplicates&nbsp;and&nbsp;lowercase&nbsp;counterparts&nbsp;of&nbsp;uppercase&nbsp;flags</tt></dd></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> <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="builtins.html#object">builtins.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>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.<br>
+It&nbsp;has&nbsp;one&nbsp;argument,&nbsp;which&nbsp;is&nbsp;the&nbsp;<a href="#AppContext">AppContext</a>&nbsp;instance.<br>
+&nbsp;<br>
+You&nbsp;should&nbsp;define&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%">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-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>
@@ -63,8 +158,12 @@ Data descriptors defined here:<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="-run"><strong>run</strong></a>(*args, **kw)</dt><dd><tt>Run&nbsp;files&nbsp;with&nbsp;the&nbsp;specified&nbsp;parameters</tt></dd></dl>
- <dl><dt><a name="-spawn"><strong>spawn</strong></a>(command, fm<font color="#909090">=None</font>, suspend<font color="#909090">=True</font>, wait<font color="#909090">=True</font>)</dt></dl>
+<td width="100%"><dl><dt><a name="-run"><strong>run</strong></a>(action<font color="#909090">=None</font>, **kw)</dt><dd><tt>Shortcut&nbsp;for&nbsp;creating&nbsp;and&nbsp;immediately&nbsp;running&nbsp;an&nbsp;<a href="#AppContext">AppContext</a>.</tt></dd></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">
@@ -73,5 +172,6 @@ Data descriptors defined here:<br>
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><strong>ALLOWED_FLAGS</strong> = 'sdpSDP'<br>
-<strong>null</strong> = &lt;_io.TextIOWrapper name='/dev/null' encoding='UTF-8'&gt;</td></tr></table>
+<strong>PIPE</strong> = -1<br>
+<strong>devnull</strong> = &lt;_io.TextIOWrapper name='/dev/null' encoding='UTF-8'&gt;</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.commands.html b/doc/pydoc/ranger.commands.html
index d89a7ff3..f41c3a1a 100644
--- a/doc/pydoc/ranger.commands.html
+++ b/doc/pydoc/ranger.commands.html
@@ -17,8 +17,9 @@
 <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></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+<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>
@@ -26,12 +27,6 @@
     
 <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="builtins.html#object">builtins.object</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.commands.html#parse">parse</a>
-</font></dt></dl>
-</dd>
 <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>
@@ -40,10 +35,12 @@
 <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#delete">delete</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#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></dl>
 </dd>
 </dl>
@@ -68,18 +65,14 @@
 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></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></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></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>line</strong> = ''</dl>
-
-<dl><dt><strong>mode</strong> = ':'</dl>
-
 <dl><dt><strong>name</strong> = None</dl>
 
 <hr>
@@ -101,10 +94,13 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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>The&nbsp;<a href="#cd">cd</a>&nbsp;command&nbsp;changes&nbsp;the&nbsp;directory.&nbsp;The&nbsp;command&nbsp;'<a href="#cd">cd</a>&nbsp;-'&nbsp;is<br>
-equivalent&nbsp;to&nbsp;typing&nbsp;``.&nbsp;In&nbsp;the&nbsp;quick&nbsp;console,&nbsp;the&nbsp;directory<br>
-will&nbsp;be&nbsp;entered&nbsp;without&nbsp;the&nbsp;need&nbsp;to&nbsp;press&nbsp;enter,&nbsp;as&nbsp;soon&nbsp;as&nbsp;there<br>
-is&nbsp;one&nbsp;unambiguous&nbsp;match.<br>&nbsp;</tt></td></tr>
+<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>
@@ -127,10 +123,6 @@ Methods inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
 
 <hr>
 Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>line</strong> = ''</dl>
-
-<dl><dt><strong>mode</strong> = ':'</dl>
-
 <dl><dt><strong>name</strong> = None</dl>
 
 <hr>
@@ -151,7 +143,15 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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><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>:<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>
@@ -167,16 +167,58 @@ Methods defined here:<br>
 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></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></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>line</strong> = ''</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="builtins.html#object">builtins.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><strong>mode</strong> = ':'</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>name</strong> = None</dl>
 
 <hr>
@@ -198,10 +240,13 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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>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.&nbsp;In&nbsp;the&nbsp;quick&nbsp;command<br>
-console,&nbsp;once&nbsp;there&nbsp;is&nbsp;one&nbsp;unambiguous&nbsp;match,&nbsp;the&nbsp;file&nbsp;will&nbsp;be&nbsp;run<br>
-automatically.<br>&nbsp;</tt></td></tr>
+<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>
@@ -216,6 +261,8 @@ Methods defined here:<br>
 
 <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>(self)</dt></dl>
+
 <hr>
 Data and other attributes defined here:<br>
 <dl><dt><strong>count</strong> = 0</dl>
@@ -224,14 +271,8 @@ Data and other attributes defined here:<br>
 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>
 
-<dl><dt><a name="find-tab"><strong>tab</strong></a>(self)</dt></dl>
-
 <hr>
 Data and other attributes inherited from <a href="ranger.commands.html#Command">Command</a>:<br>
-<dl><dt><strong>line</strong> = ''</dl>
-
-<dl><dt><strong>mode</strong> = ':'</dl>
-
 <dl><dt><strong>name</strong> = None</dl>
 
 <hr>
@@ -250,11 +291,15 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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>
+<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><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>:<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#mkdir">mkdir</a></dd>
+<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>
@@ -262,22 +307,18 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="mkdir-execute"><strong>execute</strong></a>(self)</dt></dl>
+<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="mkdir-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
+<dl><dt><a name="grep-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
 
-<dl><dt><a name="mkdir-quick_open"><strong>quick_open</strong></a>(self)</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="mkdir-tab"><strong>tab</strong></a>(self)</dt></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>line</strong> = ''</dl>
-
-<dl><dt><strong>mode</strong> = ':'</dl>
-
 <dl><dt><strong>name</strong> = None</dl>
 
 <hr>
@@ -296,20 +337,42 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="parse">class <strong>parse</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
+<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>Parse&nbsp;commands&nbsp;and&nbsp;extract&nbsp;information<br>&nbsp;</tt></td></tr>
+<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%">Methods defined here:<br>
-<dl><dt><a name="parse-__add__"><strong>__add__</strong></a>(self, newpart)</dt></dl>
+<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="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="mkdir-execute"><strong>execute</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="parse-__init__"><strong>__init__</strong></a>(self, line)</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>name</strong> = None</dl>
 
-<dl><dt><a name="parse-chunk"><strong>chunk</strong></a>(self, n, otherwise<font color="#909090">=''</font>)</dt></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 defined here:<br>
+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>
@@ -323,7 +386,9 @@ Data descriptors defined here:<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>Quits&nbsp;the&nbsp;program.<br>&nbsp;</tt></td></tr>
+<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>
@@ -340,16 +405,12 @@ Methods defined here:<br>
 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></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></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>line</strong> = ''</dl>
-
-<dl><dt><strong>mode</strong> = ':'</dl>
-
 <dl><dt><strong>name</strong> = None</dl>
 
 <hr>
@@ -368,11 +429,15 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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>var</strong> = <a name="var">class delete</a>(<a href="ranger.commands.html#Command">Command</a>)</font></td></tr>
+<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><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>:<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#delete">delete</a></dd>
+<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>
@@ -380,22 +445,18 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="delete-execute"><strong>execute</strong></a>(self)</dt></dl>
+<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="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></dl>
+<dl><dt><a name="rename-__init__"><strong>__init__</strong></a>(self, line, mode)</dt></dl>
 
-<dl><dt><a name="delete-tab"><strong>tab</strong></a>(self)</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>line</strong> = ''</dl>
-
-<dl><dt><strong>mode</strong> = ':'</dl>
-
 <dl><dt><strong>name</strong> = None</dl>
 
 <hr>
@@ -418,6 +479,7 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
     
 <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></dl>
+ <dl><dt><a name="-command_generator"><strong>command_generator</strong></a>(start)</dt></dl>
 </td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#55aa55">
@@ -425,6 +487,5 @@ 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>by_name</strong> = {'cd': &lt;class 'ranger.commands.cd'&gt;, 'delete': &lt;class 'ranger.commands.delete'&gt;, 'find': &lt;class 'ranger.commands.find'&gt;, 'mkdir': &lt;class 'ranger.commands.mkdir'&gt;, 'q': &lt;class 'ranger.commands.quit'&gt;, 'quit': &lt;class 'ranger.commands.quit'&gt;}<br>
-<strong>varname</strong> = 'delete'</td></tr></table>
+<td width="100%"><strong>by_name</strong> = {'cd': &lt;class 'ranger.commands.cd'&gt;, 'delete': &lt;class 'ranger.commands.delete'&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;, 'q': &lt;class 'ranger.commands.quit'&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 699524c4..39ff0d50 100644
--- a/doc/pydoc/ranger.container.bookmarks.html
+++ b/doc/pydoc/ranger.container.bookmarks.html
@@ -28,12 +28,6 @@
     
 <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="builtins.html#Exception">builtins.Exception</a>(<a href="builtins.html#BaseException">builtins.BaseException</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.container.bookmarks.html#NonexistantBookmark">NonexistantBookmark</a>
-</font></dt></dl>
-</dd>
 <dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
 </font></dt><dd>
 <dl>
@@ -66,6 +60,8 @@ Optionally,&nbsp;a&nbsp;bookmark.go()&nbsp;method&nbsp;is&nbsp;used&nbsp;for&nbs
 <dl><dt><a name="Bookmarks-__init__"><strong>__init__</strong></a>(self, bookmarkfile, bookmarktype<font color="#909090">=&lt;class 'str'&gt;</font>, autosave<font color="#909090">=False</font>)</dt><dd><tt>&lt;bookmarkfile&gt;&nbsp;specifies&nbsp;the&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;where<br>
 bookmarks&nbsp;are&nbsp;saved&nbsp;in.</tt></dd></dl>
 
+<dl><dt><a name="Bookmarks-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="Bookmarks-__setitem__"><strong>__setitem__</strong></a>(self, key, value)</dt><dd><tt>Bookmark&nbsp;&lt;value&gt;&nbsp;to&nbsp;the&nbsp;key&nbsp;&lt;key&gt;.<br>
 key&nbsp;is&nbsp;expected&nbsp;to&nbsp;be&nbsp;a&nbsp;1-character&nbsp;string&nbsp;and&nbsp;element&nbsp;of&nbsp;ALLOWED_KEYS.<br>
 value&nbsp;is&nbsp;expected&nbsp;to&nbsp;be&nbsp;a&nbsp;filesystemobject.</tt></dd></dl>
@@ -101,67 +97,8 @@ 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 0x15161a0&gt;</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="NonexistantBookmark">class <strong>NonexistantBookmark</strong></a>(<a href="builtins.html#Exception">builtins.Exception</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.container.bookmarks.html#NonexistantBookmark">NonexistantBookmark</a></dd>
-<dd><a href="builtins.html#Exception">builtins.Exception</a></dd>
-<dd><a href="builtins.html#BaseException">builtins.BaseException</a></dd>
-<dd><a href="builtins.html#object">builtins.object</a></dd>
-</dl>
-<hr>
-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="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><a name="NonexistantBookmark-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#NonexistantBookmark-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
+<dl><dt><strong>load_pattern</strong> = &lt;_sre.SRE_Pattern object at 0x7f20a5b7b760&gt;</dl>
 
-<hr>
-Data and other attributes inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94a120&gt;<dd><tt>T.<a href="#NonexistantBookmark-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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="builtins.html#BaseException">builtins.BaseException</a>:<br>
-<dl><dt><a name="NonexistantBookmark-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#NonexistantBookmark-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="NonexistantBookmark-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#NonexistantBookmark-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="NonexistantBookmark-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
-
-<dl><dt><a name="NonexistantBookmark-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#NonexistantBookmark-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
-
-<dl><dt><a name="NonexistantBookmark-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#NonexistantBookmark-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
-
-<dl><dt><a name="NonexistantBookmark-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
-
-<dl><dt><a name="NonexistantBookmark-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#NonexistantBookmark-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
-
-<dl><dt><a name="NonexistantBookmark-with_traceback"><strong>with_traceback</strong></a>(...)</dt><dd><tt><a href="builtins.html#Exception">Exception</a>.<a href="#NonexistantBookmark-with_traceback">with_traceback</a>(tb)&nbsp;--<br>
-set&nbsp;self.<strong>__traceback__</strong>&nbsp;to&nbsp;tb&nbsp;and&nbsp;return&nbsp;self.</tt></dd></dl>
-
-<hr>
-Data descriptors inherited from <a href="builtins.html#BaseException">builtins.BaseException</a>:<br>
-<dl><dt><strong>__cause__</strong></dt>
-<dd><tt>exception&nbsp;cause</tt></dd>
-</dl>
-<dl><dt><strong>__context__</strong></dt>
-<dd><tt>exception&nbsp;context</tt></dd>
-</dl>
-<dl><dt><strong>__dict__</strong></dt>
-</dl>
-<dl><dt><strong>__traceback__</strong></dt>
-</dl>
-<dl><dt><strong>args</strong></dt>
-</dl>
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#55aa55">
diff --git a/doc/pydoc/ranger.container.commandlist.html b/doc/pydoc/ranger.container.commandlist.html
index 1620984c..c9ddd62f 100644
--- a/doc/pydoc/ranger.container.commandlist.html
+++ b/doc/pydoc/ranger.container.commandlist.html
@@ -22,6 +22,7 @@
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.container.commandlist.html#Command">Command</a>
+</font></dt><dt><font face="helvetica, arial"><a href="ranger.container.commandlist.html#CommandArgument">CommandArgument</a>
 </font></dt><dt><font face="helvetica, arial"><a href="ranger.container.commandlist.html#CommandList">CommandList</a>
 </font></dt><dt><font face="helvetica, arial"><a href="ranger.container.commandlist.html#Hint">Hint</a>
 </font></dt></dl>
@@ -41,6 +42,8 @@
 
 <dl><dt><a name="Command-execute"><strong>execute</strong></a>(self, *args)</dt><dd><tt>Execute&nbsp;the&nbsp;command</tt></dd></dl>
 
+<dl><dt><a name="Command-execute_wrap"><strong>execute_wrap</strong></a>(self, displayable)</dt></dl>
+
 <hr>
 Data descriptors defined here:<br>
 <dl><dt><strong>__dict__</strong></dt>
@@ -57,6 +60,24 @@ Data and other attributes defined here:<br>
 <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="CommandArgument">class <strong>CommandArgument</strong></a>(<a href="builtins.html#object">builtins.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="CommandArgument-__init__"><strong>__init__</strong></a>(self, fm, displayable, keybuffer)</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> <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="CommandList">class <strong>CommandList</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
     
 <tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
@@ -125,5 +146,13 @@ Data and other attributes defined here:<br>
 
 <dl><dt><strong>text</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="#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="-cmdarg"><strong>cmdarg</strong></a>(displayable)</dt></dl>
+</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.container.environment.html b/doc/pydoc/ranger.container.environment.html
index 4909d588..6ee8a0df 100644
--- a/doc/pydoc/ranger.container.environment.html
+++ b/doc/pydoc/ranger.container.environment.html
@@ -12,6 +12,15 @@
     <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="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>
@@ -99,7 +108,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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&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 5094de92..68fe9cfa 100644
--- a/doc/pydoc/ranger.container.history.html
+++ b/doc/pydoc/ranger.container.history.html
@@ -97,7 +97,7 @@ Methods inherited from <a href="builtins.html#Exception">builtins.Exception</a>:
 
 <hr>
 Data and other attributes inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94a120&gt;<dd><tt>T.<a href="#HistoryEmptyException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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 at 0x7f20a8d46120&gt;<dd><tt>T.<a href="#HistoryEmptyException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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="builtins.html#BaseException">builtins.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.container.html b/doc/pydoc/ranger.container.html
index 7154fd15..948e7c64 100644
--- a/doc/pydoc/ranger.container.html
+++ b/doc/pydoc/ranger.container.html
@@ -23,5 +23,6 @@ used&nbsp;to&nbsp;manage&nbsp;stored&nbsp;data</tt></p>
 </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></td></tr></table></td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.container.tags.html b/doc/pydoc/ranger.container.tags.html
new file mode 100644
index 00000000..9ab557bc
--- /dev/null
+++ b/doc/pydoc/ranger.container.tags.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.container.tags</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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>.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/work/ranger/ranger/container/tags.py">/home/hut/work/ranger/ranger/container/tags.py</a></font></td></tr></table>
+    <p></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="builtins.html#object">builtins.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.container.tags.html#Tags">Tags</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="Tags">class <strong>Tags</strong></a>(<a href="builtins.html#object">builtins.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="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-add"><strong>add</strong></a>(self, *items)</dt></dl>
+
+<dl><dt><a name="Tags-dump"><strong>dump</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Tags-remove"><strong>remove</strong></a>(self, *items)</dt></dl>
+
+<dl><dt><a name="Tags-sync"><strong>sync</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Tags-toggle"><strong>toggle</strong></a>(self, *items)</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>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.defaults.apps.html b/doc/pydoc/ranger.defaults.apps.html
index f969eebf..6d22ba72 100644
--- a/doc/pydoc/ranger.defaults.apps.html
+++ b/doc/pydoc/ranger.defaults.apps.html
@@ -12,6 +12,15 @@
     <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="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>
@@ -39,26 +48,28 @@
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="CustomApplications-app_aunpack"><strong>app_aunpack</strong></a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_aunpack"><strong>app_aunpack</strong></a>(self, c)</dt></dl>
 
-<dl><dt><a name="CustomApplications-app_default"><strong>app_default</strong></a>(self, **kw)</dt><dd><tt>#&nbsp;How&nbsp;to&nbsp;determine&nbsp;the&nbsp;default&nbsp;application?&nbsp;{{{</tt></dd></dl>
+<dl><dt><a name="CustomApplications-app_default"><strong>app_default</strong></a>(self, c)</dt><dd><tt>How&nbsp;to&nbsp;determine&nbsp;the&nbsp;default&nbsp;application?</tt></dd></dl>
 
-<dl><dt><a name="CustomApplications-app_editor"><strong>app_editor</strong></a> = <a href="#CustomApplications-app_vim">app_vim</a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_editor"><strong>app_editor</strong></a> = <a href="#CustomApplications-app_vim">app_vim</a>(self, c)</dt></dl>
 
-<dl><dt><a name="CustomApplications-app_evince"><strong>app_evince</strong></a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_evince"><strong>app_evince</strong></a>(self, c)</dt></dl>
 
-<dl><dt><a name="CustomApplications-app_feh"><strong>app_feh</strong></a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_feh"><strong>app_feh</strong></a>(self, c)</dt></dl>
 
-<dl><dt><a name="CustomApplications-app_mplayer"><strong>app_mplayer</strong></a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_mplayer"><strong>app_mplayer</strong></a>(self, c)</dt></dl>
 
-<dl><dt><a name="CustomApplications-app_pager"><strong>app_pager</strong></a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_pager"><strong>app_pager</strong></a>(self, c)</dt><dd><tt>#&nbsp;-----------------------------------------&nbsp;application&nbsp;definitions</tt></dd></dl>
 
-<dl><dt><a name="CustomApplications-app_vim"><strong>app_vim</strong></a>(self, **kw)</dt></dl>
+<dl><dt><a name="CustomApplications-app_vim"><strong>app_vim</strong></a>(self, c)</dt></dl>
 
 <hr>
 Methods inherited from <a href="ranger.applications.html#Applications">ranger.applications.Applications</a>:<br>
 <dl><dt><a name="CustomApplications-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="CustomApplications-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="CustomApplications-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="CustomApplications-has"><strong>has</strong></a>(self, app)</dt><dd><tt>Returns&nbsp;whether&nbsp;an&nbsp;application&nbsp;is&nbsp;defined</tt></dd></dl>
@@ -71,5 +82,14 @@ Data descriptors inherited from <a href="ranger.applications.html#Applications">
 <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>
+</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>ALLOWED_FLAGS</strong> = 'sdpSDP'<br>
+<strong>PIPE</strong> = -1<br>
+<strong>devnull</strong> = &lt;_io.TextIOWrapper name='/dev/null' encoding='UTF-8'&gt;</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 782ee6d2..f3da9f8f 100644
--- a/doc/pydoc/ranger.defaults.keys.html
+++ b/doc/pydoc/ranger.defaults.keys.html
@@ -9,7 +9,23 @@
 <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.defaults.html"><font color="#ffffff">defaults</font></a>.keys</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/work/ranger/ranger/defaults/keys.py">/home/hut/work/ranger/ranger/defaults/keys.py</a></font></td></tr></table>
-    <p></p>
+    <p><tt>Syntax&nbsp;for&nbsp;binding&nbsp;keys:&nbsp;bind(*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>
+*&nbsp;an&nbsp;integer&nbsp;which&nbsp;represents&nbsp;an&nbsp;ascii&nbsp;code<br>
+*&nbsp;a&nbsp;tuple&nbsp;of&nbsp;integers<br>
+&nbsp;<br>
+fnc&nbsp;is&nbsp;a&nbsp;function&nbsp;which&nbsp;is&nbsp;called&nbsp;with&nbsp;the&nbsp;CommandArgument&nbsp;object.<br>
+&nbsp;<br>
+The&nbsp;CommandArgument&nbsp;object&nbsp;has&nbsp;these&nbsp;methods:<br>
+cmdarg.fm:&nbsp;the&nbsp;file&nbsp;manager&nbsp;instance<br>
+cmdarg.wdg:&nbsp;the&nbsp;widget&nbsp;or&nbsp;ui&nbsp;instance<br>
+cmdarg.n:&nbsp;the&nbsp;number&nbsp;typed&nbsp;before&nbsp;the&nbsp;key&nbsp;combination&nbsp;(if&nbsp;allowed)<br>
+cmdarg.keys:&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;the&nbsp;used&nbsp;key&nbsp;combination<br>
+cmdarg.keybuffer:&nbsp;the&nbsp;keybuffer&nbsp;instance<br>
+&nbsp;<br>
+Check&nbsp;ranger.keyapi&nbsp;for&nbsp;more&nbsp;information</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#aa55cc">
@@ -17,7 +33,7 @@
 <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 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></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">
@@ -54,7 +70,9 @@
  <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_process_manager_commands"><strong>initialize_process_manager_commands</strong></a>(command_list)</dt><dd><tt>Initialize&nbsp;the&nbsp;commands&nbsp;for&nbsp;the&nbsp;process&nbsp;manager&nbsp;widget</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="-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>
@@ -86,6 +104,7 @@
  <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="-system_functions"><strong>system_functions</strong></a>(command_list)</dt><dd><tt>Each&nbsp;commandlist&nbsp;should&nbsp;have&nbsp;those.</tt></dd></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>
@@ -353,5 +372,7 @@
 <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>version</strong> = b'2.2'</td></tr></table>
+<strong>fm</strong> = &lt;ranger.keyapi.Wrapper object at 0x7f20a5b429d0&gt;<br>
+<strong>version</strong> = b'2.2'<br>
+<strong>wdg</strong> = &lt;ranger.keyapi.Wrapper object at 0x7f20a5b42a10&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 09542348..7e095e70 100644
--- a/doc/pydoc/ranger.defaults.options.html
+++ b/doc/pydoc/ranger.defaults.options.html
@@ -29,11 +29,12 @@
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><strong>auto_load_preview</strong> = True<br>
+<strong>autosave_bookmarks</strong> = True<br>
 <strong>collapse_preview</strong> = True<br>
 <strong>directories_first</strong> = True<br>
 <strong>max_dirsize_for_autopreview</strong> = None<br>
 <strong>max_history_size</strong> = 20<br>
-<strong>preview_files</strong> = False<br>
+<strong>preview_files</strong> = True<br>
 <strong>reverse</strong> = False<br>
 <strong>scroll_offset</strong> = 2<br>
 <strong>show_hidden</strong> = False<br>
diff --git a/doc/pydoc/ranger.ext.accumulator.html b/doc/pydoc/ranger.ext.accumulator.html
index 7a1a2304..f830d920 100644
--- a/doc/pydoc/ranger.ext.accumulator.html
+++ b/doc/pydoc/ranger.ext.accumulator.html
@@ -37,9 +37,11 @@
 
 <dl><dt><a name="Accumulator-correct_pointer"><strong>correct_pointer</strong></a>(self)</dt></dl>
 
+<dl><dt><a name="Accumulator-get_height"><strong>get_height</strong></a>(self)</dt><dd><tt>OVERRIDE&nbsp;THIS</tt></dd></dl>
+
 <dl><dt><a name="Accumulator-get_list"><strong>get_list</strong></a>(self)</dt><dd><tt>OVERRIDE&nbsp;THIS</tt></dd></dl>
 
-<dl><dt><a name="Accumulator-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></dl>
+<dl><dt><a name="Accumulator-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=False</font>)</dt></dl>
 
 <dl><dt><a name="Accumulator-move_to_obj"><strong>move_to_obj</strong></a>(self, arg, attr<font color="#909090">=None</font>)</dt></dl>
 
diff --git a/doc/pydoc/ranger.ext.command_parser.html b/doc/pydoc/ranger.ext.command_parser.html
new file mode 100644
index 00000000..c24232c6
--- /dev/null
+++ b/doc/pydoc/ranger.ext.command_parser.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.ext.command_parser</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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>.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/work/ranger/ranger/ext/command_parser.py">/home/hut/work/ranger/ranger/ext/command_parser.py</a></font></td></tr></table>
+    <p></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="builtins.html#object">builtins.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.ext.command_parser.html#LazyParser">LazyParser</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="LazyParser">class <strong>LazyParser</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
+    
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
+<td colspan=2><tt>Parse&nbsp;commands&nbsp;and&nbsp;extract&nbsp;information<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="LazyParser-__add__"><strong>__add__</strong></a>(self, newpart)</dt></dl>
+
+<dl><dt><a name="LazyParser-__init__"><strong>__init__</strong></a>(self, line)</dt></dl>
+
+<dl><dt><a name="LazyParser-chunk"><strong>chunk</strong></a>(self, n, otherwise<font color="#909090">=''</font>)</dt><dd><tt>Chunks&nbsp;are&nbsp;pieces&nbsp;of&nbsp;the&nbsp;command&nbsp;seperated&nbsp;by&nbsp;spaces</tt></dd></dl>
+
+<dl><dt><a name="LazyParser-rest"><strong>rest</strong></a>(self, n, otherwise<font color="#909090">=''</font>)</dt><dd><tt>Rests&nbsp;are&nbsp;the&nbsp;strings&nbsp;which&nbsp;come&nbsp;after&nbsp;each&nbsp;word.</tt></dd></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>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.ext.html b/doc/pydoc/ranger.ext.html
index 06848c5d..c0add5b8 100644
--- a/doc/pydoc/ranger.ext.html
+++ b/doc/pydoc/ranger.ext.html
@@ -18,12 +18,15 @@
     
 <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.ext.accumulator.html">accumulator</a><br>
+<a href="ranger.ext.command_parser.html">command_parser</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.human_readable.html">human_readable</a><br>
+<a href="ranger.ext.move.html">move</a><br>
 </td><td width="25%" valign=top><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.shutil_generatorized.html">shutil_generatorized</a><br>
+<a href="ranger.ext.shutil_generatorized.html">shutil_generatorized</a><br>
+</td><td width="25%" valign=top><a href="ranger.ext.trim.html">trim</a><br>
 <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.move.html b/doc/pydoc/ranger.ext.move.html
new file mode 100644
index 00000000..1c8bcf70
--- /dev/null
+++ b/doc/pydoc/ranger.ext.move.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.ext.move</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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>.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/work/ranger/ranger/ext/move.py">/home/hut/work/ranger/ranger/ext/move.py</a></font></td></tr></table>
+    <p></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="-move_between"><strong>move_between</strong></a>(current, minimum, maximum, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></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 bee4db77..f0d0de11 100644
--- a/doc/pydoc/ranger.ext.shutil_generatorized.html
+++ b/doc/pydoc/ranger.ext.shutil_generatorized.html
@@ -79,7 +79,7 @@ Data descriptors inherited from <a href="builtins.html#EnvironmentError">builtin
 </dl>
 <hr>
 Data and other attributes inherited from <a href="builtins.html#EnvironmentError">builtins.EnvironmentError</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94ac80&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 at 0x7f20a8d46c80&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="builtins.html#BaseException">builtins.BaseException</a>:<br>
@@ -153,7 +153,7 @@ Data descriptors inherited from <a href="builtins.html#EnvironmentError">builtin
 </dl>
 <hr>
 Data and other attributes inherited from <a href="builtins.html#EnvironmentError">builtins.EnvironmentError</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94ac80&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 at 0x7f20a8d46c80&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="builtins.html#BaseException">builtins.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.ext.trim.html b/doc/pydoc/ranger.ext.trim.html
new file mode 100644
index 00000000..0dbd67f0
--- /dev/null
+++ b/doc/pydoc/ranger.ext.trim.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.ext.trim</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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>.trim</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/work/ranger/ranger/ext/trim.py">/home/hut/work/ranger/ranger/ext/trim.py</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="sys.html">sys</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="#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="-trim_docstring"><strong>trim_docstring</strong></a>(docstring)</dt></dl>
+ <dl><dt><a name="-trimmed_lines_of_docstring"><strong>trimmed_lines_of_docstring</strong></a>(docstring)</dt></dl>
+</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.fm.html b/doc/pydoc/ranger.fm.html
index 2d4f7f62..d8b80d0a 100644
--- a/doc/pydoc/ranger.fm.html
+++ b/doc/pydoc/ranger.fm.html
@@ -42,7 +42,7 @@
 </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>)</dt><dd><tt>Initialize&nbsp;<a href="#FM">FM</a>.</tt></dd></dl>
+<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>
 
@@ -50,9 +50,10 @@ Methods defined here:<br>
 
 <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;drawing&nbsp;and&nbsp;finalizing&nbsp;ui<br>
-3.&nbsp;reading&nbsp;and&nbsp;handling&nbsp;user&nbsp;input<br>
-4.&nbsp;after&nbsp;X&nbsp;loops:&nbsp;collecting&nbsp;unused&nbsp;directory&nbsp;objects</tt></dd></dl>
+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 and other attributes defined here:<br>
@@ -72,13 +73,21 @@ Methods inherited from <a href="ranger.actions.html#Actions">ranger.actions.Acti
 
 <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_log"><strong>display_log</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="FM-edit_file"><strong>edit_file</strong></a>(self)</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)</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_file"><strong>execute_file</strong></a>(self, files, app<font color="#909090">=''</font>, flags<font color="#909090">=''</font>, mode<font color="#909090">=0</font>)</dt><dd><tt>Execute&nbsp;a&nbsp;file.<br>
+<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;applications.ALLOWED_FLAGS<br>
 mode&nbsp;is&nbsp;a&nbsp;positive&nbsp;integer.<br>
@@ -122,27 +131,39 @@ val&nbsp;-&nbsp;mark&nbsp;or&nbsp;unmark?</tt></dd></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-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_backward"><strong>search_backward</strong></a>(self)</dt><dd><tt>Search&nbsp;backward&nbsp;for&nbsp;the&nbsp;regexp&nbsp;in&nbsp;self.<strong>env</strong>.last_search</tt></dd></dl>
-
-<dl><dt><a name="FM-search_forward"><strong>search_forward</strong></a>(self)</dt><dd><tt>Search&nbsp;forward&nbsp;for&nbsp;the&nbsp;regexp&nbsp;in&nbsp;self.<strong>env</strong>.last_search</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-spawn"><strong>spawn</strong></a>(self, command)</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>
 
@@ -156,7 +177,7 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 </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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&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.fsobject.directory.html b/doc/pydoc/ranger.fsobject.directory.html
index ee87c5bb..0183ea14 100644
--- a/doc/pydoc/ranger.fsobject.directory.html
+++ b/doc/pydoc/ranger.fsobject.directory.html
@@ -86,6 +86,8 @@ Methods defined here:<br>
 
 <dl><dt><a name="Directory-correct_pointer"><strong>correct_pointer</strong></a>(self)</dt><dd><tt>Make&nbsp;sure&nbsp;the&nbsp;pointer&nbsp;is&nbsp;in&nbsp;the&nbsp;valid&nbsp;range</tt></dd></dl>
 
+<dl><dt><a name="Directory-cycle"><strong>cycle</strong></a>(self, forward<font color="#909090">=True</font>)</dt></dl>
+
 <dl><dt><a name="Directory-empty"><strong>empty</strong></a>(self)</dt><dd><tt>Is&nbsp;the&nbsp;directory&nbsp;empty?</tt></dd></dl>
 
 <dl><dt><a name="Directory-get_list"><strong>get_list</strong></a>(self)</dt></dl>
@@ -109,7 +111,9 @@ outdated&nbsp;or&nbsp;not&nbsp;done&nbsp;yet</tt></dd></dl>
 
 <dl><dt><a name="Directory-move_to_obj"><strong>move_to_obj</strong></a>(self, arg)</dt></dl>
 
-<dl><dt><a name="Directory-search"><strong>search</strong></a>(self, arg, direction<font color="#909090">=1</font>)</dt><dd><tt>Search&nbsp;for&nbsp;a&nbsp;regular&nbsp;expression</tt></dd></dl>
+<dl><dt><a name="Directory-search_fnc"><strong>search_fnc</strong></a>(self, fnc, forward<font color="#909090">=True</font>)</dt></dl>
+
+<dl><dt><a name="Directory-set_cycle_list"><strong>set_cycle_list</strong></a>(self, lst)</dt></dl>
 
 <dl><dt><a name="Directory-sort"><strong>sort</strong></a>(self)</dt><dd><tt>Sort&nbsp;the&nbsp;containing&nbsp;files</tt></dd></dl>
 
@@ -123,6 +127,8 @@ outdated&nbsp;or&nbsp;not&nbsp;done&nbsp;yet</tt></dd></dl>
 
 <hr>
 Data and other attributes defined here:<br>
+<dl><dt><strong>cycle_list</strong> = None</dl>
+
 <dl><dt><strong>enterable</strong> = False</dl>
 
 <dl><dt><strong>filenames</strong> = None</dl>
@@ -139,6 +145,8 @@ Data and other attributes defined here:<br>
 
 <dl><dt><strong>old_directories_first</strong> = None</dl>
 
+<dl><dt><strong>old_filter</strong> = None</dl>
+
 <dl><dt><strong>old_reverse</strong> = None</dl>
 
 <dl><dt><strong>old_show_hidden</strong> = None</dl>
@@ -149,7 +157,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 0x154a408&gt;, 'mtime': &lt;function &lt;lambda&gt; at 0x1569518&gt;, 'size': &lt;function &lt;lambda&gt; at 0x1569490&gt;, 'type': &lt;function &lt;lambda&gt; at 0x15695a0&gt;}</dl>
+<dl><dt><strong>sort_dict</strong> = {'basename': &lt;function sort_by_basename at 0x7f20a71a31e8&gt;, 'mtime': &lt;function &lt;lambda&gt; at 0x7f20a71a3848&gt;, 'size': &lt;function &lt;lambda&gt; at 0x7f20a71a37c0&gt;, 'type': &lt;function &lt;lambda&gt; at 0x7f20a71a38d0&gt;}</dl>
 
 <hr>
 Methods inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br>
@@ -255,7 +263,9 @@ Data and other attributes inherited from <a href="ranger.shared.html#FileManager
 
 <hr>
 Methods inherited from <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>:<br>
-<dl><dt><a name="Directory-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></dl>
+<dl><dt><a name="Directory-get_height"><strong>get_height</strong></a>(self)</dt><dd><tt>OVERRIDE&nbsp;THIS</tt></dd></dl>
+
+<dl><dt><a name="Directory-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=False</font>)</dt></dl>
 
 <dl><dt><a name="Directory-pointer_is_synced"><strong>pointer_is_synced</strong></a>(self)</dt></dl>
 
@@ -263,7 +273,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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -289,7 +299,7 @@ Methods inherited from <a href="builtins.html#Exception">builtins.Exception</a>:
 
 <hr>
 Data and other attributes inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94a120&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 at 0x7f20a8d46120&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="builtins.html#BaseException">builtins.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.fsobject.html b/doc/pydoc/ranger.fsobject.html
index fff54d0c..d825a3e8 100644
--- a/doc/pydoc/ranger.fsobject.html
+++ b/doc/pydoc/ranger.fsobject.html
@@ -61,7 +61,7 @@ Methods inherited from <a href="builtins.html#Exception">builtins.Exception</a>:
 
 <hr>
 Data and other attributes inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94a120&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 at 0x7f20a8d46120&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="builtins.html#BaseException">builtins.BaseException</a>:<br>
diff --git a/doc/pydoc/ranger.gui.bar.html b/doc/pydoc/ranger.gui.bar.html
new file mode 100644
index 00000000..7c5c9f4d
--- /dev/null
+++ b/doc/pydoc/ranger.gui.bar.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.bar</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.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/work/ranger/ranger/gui/bar.py">/home/hut/work/ranger/ranger/gui/bar.py</a></font></td></tr></table>
+    <p></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="builtins.html#list">builtins.list</a>(<a href="builtins.html#object">builtins.object</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.gui.bar.html#BarSide">BarSide</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.gui.bar.html#Bar">Bar</a>
+</font></dt><dt><font face="helvetica, arial"><a href="ranger.gui.bar.html#ColoredString">ColoredString</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="Bar">class <strong>Bar</strong></a>(<a href="builtins.html#object">builtins.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="Bar-__init__"><strong>__init__</strong></a>(self, base_color_tag)</dt></dl>
+
+<dl><dt><a name="Bar-add"><strong>add</strong></a>(self, *a, **kw)</dt></dl>
+
+<dl><dt><a name="Bar-addright"><strong>addright</strong></a>(self, *a, **kw)</dt></dl>
+
+<dl><dt><a name="Bar-combine"><strong>combine</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Bar-fill_gap"><strong>fill_gap</strong></a>(self, char, wid, gapwidth<font color="#909090">=False</font>)</dt></dl>
+
+<dl><dt><a name="Bar-fixedsize"><strong>fixedsize</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Bar-shrink_by_cutting"><strong>shrink_by_cutting</strong></a>(self, wid)</dt></dl>
+
+<dl><dt><a name="Bar-shrink_by_removing"><strong>shrink_by_removing</strong></a>(self, wid)</dt></dl>
+
+<dl><dt><a name="Bar-sumsize"><strong>sumsize</strong></a>(self)</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>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>gap</strong> = None</dl>
+
+<dl><dt><strong>left</strong> = None</dl>
+
+<dl><dt><strong>right</strong> = None</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="BarSide">class <strong>BarSide</strong></a>(<a href="builtins.html#list">builtins.list</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.gui.bar.html#BarSide">BarSide</a></dd>
+<dd><a href="builtins.html#list">builtins.list</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="BarSide-__init__"><strong>__init__</strong></a>(self, base_color_tag)</dt></dl>
+
+<dl><dt><a name="BarSide-add"><strong>add</strong></a>(self, string, *lst, **kw)</dt></dl>
+
+<dl><dt><a name="BarSide-add_space"><strong>add_space</strong></a>(self, n<font color="#909090">=1</font>)</dt></dl>
+
+<dl><dt><a name="BarSide-fixedsize"><strong>fixedsize</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BarSide-nonfixed_items"><strong>nonfixed_items</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BarSide-sumsize"><strong>sumsize</strong></a>(self)</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>
+<hr>
+Methods inherited from <a href="builtins.html#list">builtins.list</a>:<br>
+<dl><dt><a name="BarSide-__add__"><strong>__add__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__add__">__add__</a>(y)&nbsp;&lt;==&gt;&nbsp;x+y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__contains__">__contains__</a>(y)&nbsp;&lt;==&gt;&nbsp;y&nbsp;in&nbsp;x</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__delitem__"><strong>__delitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__delitem__">__delitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;del&nbsp;x[y]</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__eq__">__eq__</a>(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__ge__">__ge__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__gt__">__gt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__iadd__"><strong>__iadd__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__iadd__">__iadd__</a>(y)&nbsp;&lt;==&gt;&nbsp;x+=y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__imul__"><strong>__imul__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__imul__">__imul__</a>(y)&nbsp;&lt;==&gt;&nbsp;x*=y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__iter__">__iter__</a>()&nbsp;&lt;==&gt;&nbsp;iter(x)</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__le__">__le__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__len__">__len__</a>()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__lt__">__lt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__mul__"><strong>__mul__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__mul__">__mul__</a>(n)&nbsp;&lt;==&gt;&nbsp;x*n</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__ne__">__ne__</a>(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__reversed__"><strong>__reversed__</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-__reversed__">__reversed__</a>()&nbsp;--&nbsp;return&nbsp;a&nbsp;reverse&nbsp;iterator&nbsp;over&nbsp;the&nbsp;<a href="builtins.html#list">list</a></tt></dd></dl>
+
+<dl><dt><a name="BarSide-__rmul__"><strong>__rmul__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__rmul__">__rmul__</a>(n)&nbsp;&lt;==&gt;&nbsp;n*x</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__setitem__"><strong>__setitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__setitem__">__setitem__</a>(i,&nbsp;y)&nbsp;&lt;==&gt;&nbsp;x[i]=y</tt></dd></dl>
+
+<dl><dt><a name="BarSide-__sizeof__"><strong>__sizeof__</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-__sizeof__">__sizeof__</a>()&nbsp;--&nbsp;size&nbsp;of&nbsp;L&nbsp;in&nbsp;memory,&nbsp;in&nbsp;bytes</tt></dd></dl>
+
+<dl><dt><a name="BarSide-append"><strong>append</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-append">append</a>(<a href="builtins.html#object">object</a>)&nbsp;--&nbsp;append&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;end</tt></dd></dl>
+
+<dl><dt><a name="BarSide-count"><strong>count</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-count">count</a>(value)&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;number&nbsp;of&nbsp;occurrences&nbsp;of&nbsp;value</tt></dd></dl>
+
+<dl><dt><a name="BarSide-extend"><strong>extend</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-extend">extend</a>(iterable)&nbsp;--&nbsp;extend&nbsp;<a href="builtins.html#list">list</a>&nbsp;by&nbsp;appending&nbsp;elements&nbsp;from&nbsp;the&nbsp;iterable</tt></dd></dl>
+
+<dl><dt><a name="BarSide-index"><strong>index</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-index">index</a>(value,&nbsp;[start,&nbsp;[stop]])&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;first&nbsp;index&nbsp;of&nbsp;value.<br>
+Raises&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;not&nbsp;present.</tt></dd></dl>
+
+<dl><dt><a name="BarSide-insert"><strong>insert</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-insert">insert</a>(index,&nbsp;<a href="builtins.html#object">object</a>)&nbsp;--&nbsp;insert&nbsp;<a href="builtins.html#object">object</a>&nbsp;before&nbsp;index</tt></dd></dl>
+
+<dl><dt><a name="BarSide-pop"><strong>pop</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-pop">pop</a>([index])&nbsp;-&gt;&nbsp;item&nbsp;--&nbsp;remove&nbsp;and&nbsp;return&nbsp;item&nbsp;at&nbsp;index&nbsp;(default&nbsp;last).<br>
+Raises&nbsp;IndexError&nbsp;if&nbsp;<a href="builtins.html#list">list</a>&nbsp;is&nbsp;empty&nbsp;or&nbsp;index&nbsp;is&nbsp;out&nbsp;of&nbsp;range.</tt></dd></dl>
+
+<dl><dt><a name="BarSide-remove"><strong>remove</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-remove">remove</a>(value)&nbsp;--&nbsp;remove&nbsp;first&nbsp;occurrence&nbsp;of&nbsp;value.<br>
+Raises&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;not&nbsp;present.</tt></dd></dl>
+
+<dl><dt><a name="BarSide-reverse"><strong>reverse</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-reverse">reverse</a>()&nbsp;--&nbsp;reverse&nbsp;*IN&nbsp;PLACE*</tt></dd></dl>
+
+<dl><dt><a name="BarSide-sort"><strong>sort</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-sort">sort</a>(key=None,&nbsp;reverse=False)&nbsp;--&nbsp;stable&nbsp;sort&nbsp;*IN&nbsp;PLACE*</tt></dd></dl>
+
+<hr>
+Data and other attributes inherited from <a href="builtins.html#list">builtins.list</a>:<br>
+<dl><dt><strong>__hash__</strong> = None</dl>
+
+<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f20a8d4e3a0&gt;<dd><tt>T.<a href="#BarSide-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom>&nbsp;<br>
+<font color="#000000" face="helvetica, arial"><a name="ColoredString">class <strong>ColoredString</strong></a>(<a href="builtins.html#object">builtins.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="ColoredString-__init__"><strong>__init__</strong></a>(self, string, *lst)</dt></dl>
+
+<dl><dt><a name="ColoredString-__len__"><strong>__len__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ColoredString-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ColoredString-cut_off"><strong>cut_off</strong></a>(self, n)</dt></dl>
+
+<dl><dt><a name="ColoredString-cut_off_to"><strong>cut_off_to</strong></a>(self, n)</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>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>fixed</strong> = False</dl>
+
+</td></tr></table></td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.colorscheme.html b/doc/pydoc/ranger.gui.colorscheme.html
index dd12acae..5bc0e2df 100644
--- a/doc/pydoc/ranger.gui.colorscheme.html
+++ b/doc/pydoc/ranger.gui.colorscheme.html
@@ -58,5 +58,5 @@ Data descriptors defined here:<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>CONTEXT_KEYS</strong> = ['reset', 'error', 'in_display', 'in_statusbar', 'in_titlebar', 'in_console', 'in_notify', 'in_pman', 'directory', 'file', 'hostname', 'executable', 'media', 'link', 'video', 'audio', 'image', 'media', 'document', 'container', ...]</td></tr></table>
+<td width="100%"><strong>CONTEXT_KEYS</strong> = ['reset', 'error', 'in_browser', 'in_statusbar', 'in_titlebar', 'in_console', 'in_notify', 'in_taskview', 'directory', 'file', 'hostname', 'executable', 'media', 'link', 'video', 'audio', 'image', 'media', 'document', 'container', ...]</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
new file mode 100644
index 00000000..49c7db26
--- /dev/null
+++ b/doc/pydoc/ranger.gui.curses_shortcuts.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.curses_shortcuts</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.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/work/ranger/ranger/gui/curses_shortcuts.py">/home/hut/work/ranger/ranger/gui/curses_shortcuts.py</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="_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>
+    
+<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="builtins.html#object">builtins.object</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">CursesShortcuts</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="CursesShortcuts">class <strong>CursesShortcuts</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>This&nbsp;class&nbsp;defines&nbsp;shortcuts&nbsp;to&nbsp;faciliate&nbsp;operations&nbsp;with&nbsp;curses.<br>
+<a href="#CursesShortcuts-color">color</a>(*keys)&nbsp;--&nbsp;sets&nbsp;the&nbsp;color&nbsp;associated&nbsp;with&nbsp;the&nbsp;keys&nbsp;from<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;current&nbsp;colorscheme.<br>
+<a href="#CursesShortcuts-color_at">color_at</a>(y,&nbsp;x,&nbsp;wid,&nbsp;*keys)&nbsp;--&nbsp;sets&nbsp;the&nbsp;color&nbsp;at&nbsp;the&nbsp;given&nbsp;position<br>
+<a href="#CursesShortcuts-color_reset">color_reset</a>()&nbsp;--&nbsp;resets&nbsp;the&nbsp;color&nbsp;to&nbsp;the&nbsp;default<br>
+<a href="#CursesShortcuts-addstr">addstr</a>(*args)&nbsp;--&nbsp;failsafe&nbsp;version&nbsp;of&nbsp;self.<strong>win</strong>.<a href="#CursesShortcuts-addstr">addstr</a>(*args)<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">CursesShortcuts</a></dd>
+<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="CursesShortcuts-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CursesShortcuts-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CursesShortcuts-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="CursesShortcuts-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="CursesShortcuts-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></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 0x7f20a718ad90&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="-combine"><strong>combine</strong></a>(seq, tup)</dt><dd><tt>Add&nbsp;seq&nbsp;and&nbsp;tup.&nbsp;Ensures&nbsp;that&nbsp;the&nbsp;result&nbsp;is&nbsp;a&nbsp;tuple.</tt></dd></dl>
+</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 4d80acac..b0d56dee 100644
--- a/doc/pydoc/ranger.gui.defaultui.html
+++ b/doc/pydoc/ranger.gui.defaultui.html
@@ -40,6 +40,7 @@
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -47,17 +48,25 @@
 Methods defined here:<br>
 <dl><dt><a name="DefaultUI-close_console"><strong>close_console</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="DefaultUI-close_pman"><strong>close_pman</strong></a>(self)</dt></dl>
+<dl><dt><a name="DefaultUI-close_embedded_pager"><strong>close_embedded_pager</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="DefaultUI-display"><strong>display</strong></a>(self, *a, **k)</dt></dl>
+<dl><dt><a name="DefaultUI-close_pager"><strong>close_pager</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="DefaultUI-close_taskview"><strong>close_taskview</strong></a>(self)</dt></dl>
 
 <dl><dt><a name="DefaultUI-hint"><strong>hint</strong></a>(self, text<font color="#909090">=None</font>)</dt></dl>
 
+<dl><dt><a name="DefaultUI-notify"><strong>notify</strong></a>(self, *a, **k)</dt></dl>
+
 <dl><dt><a name="DefaultUI-open_console"><strong>open_console</strong></a>(self, mode, string<font color="#909090">=''</font>)</dt></dl>
 
-<dl><dt><a name="DefaultUI-open_pman"><strong>open_pman</strong></a>(self)</dt></dl>
+<dl><dt><a name="DefaultUI-open_embedded_pager"><strong>open_embedded_pager</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="DefaultUI-open_pager"><strong>open_pager</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="DefaultUI-poke"><strong>poke</strong></a>(self)</dt></dl>
+<dl><dt><a name="DefaultUI-open_taskview"><strong>open_taskview</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="DefaultUI-redraw_main_column"><strong>redraw_main_column</strong></a>(self)</dt></dl>
 
 <dl><dt><a name="DefaultUI-scroll"><strong>scroll</strong></a>(self, relative)</dt></dl>
 
@@ -103,17 +112,15 @@ Data and other attributes inherited from <a href="ranger.gui.ui.html#UI">ranger.
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a>:<br>
-<dl><dt><a name="DefaultUI-add_obj"><strong>add_obj</strong></a>(self, *objs)</dt></dl>
+<dl><dt><a name="DefaultUI-add_child"><strong>add_child</strong></a>(self, obj)</dt><dd><tt>Add&nbsp;the&nbsp;objects&nbsp;to&nbsp;the&nbsp;container.</tt></dd></dl>
 
 <dl><dt><a name="DefaultUI-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
-<dl><dt><a name="DefaultUI-get_focused_obj"><strong>get_focused_obj</strong></a>(self)</dt><dd><tt>Finds&nbsp;a&nbsp;focused&nbsp;displayable&nbsp;object&nbsp;in&nbsp;the&nbsp;container.</tt></dd></dl>
+<dl><dt><a name="DefaultUI-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
 <dl><dt><a name="DefaultUI-press"><strong>press</strong></a>(self, key)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
-<hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a>:<br>
-<dl><dt><strong>container</strong> = None</dl>
+<dl><dt><a name="DefaultUI-remove_child"><strong>remove_child</strong></a>(self, obj)</dt><dd><tt>Remove&nbsp;the&nbsp;object&nbsp;from&nbsp;the&nbsp;container.</tt></dd></dl>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
@@ -122,27 +129,14 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="DefaultUI-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
-<dl><dt><a name="DefaultUI-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="DefaultUI-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="DefaultUI-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
+<dl><dt><a name="DefaultUI-__str__"><strong>__str__</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="DefaultUI-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="DefaultUI-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="DefaultUI-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -159,8 +153,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="DefaultUI-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="DefaultUI-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="DefaultUI-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="DefaultUI-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="DefaultUI-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&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.gui.displayable.html b/doc/pydoc/ranger.gui.displayable.html
index a581fbeb..cbe29b2c 100644
--- a/doc/pydoc/ranger.gui.displayable.html
+++ b/doc/pydoc/ranger.gui.displayable.html
@@ -12,22 +12,24 @@
     <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="_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>
     
 <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="builtins.html#Exception">builtins.Exception</a>(<a href="builtins.html#BaseException">builtins.BaseException</a>)
+<dt><font face="helvetica, arial"><a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</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.gui.displayable.html#OutOfBoundsException">OutOfBoundsException</a>
-</font></dt></dl>
-</dd>
-<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.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
+<dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>)
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a>
@@ -35,10 +37,10 @@
 </dd>
 </dl>
 </dd>
-<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>)
+<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.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
+<dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>)
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a>
@@ -46,10 +48,10 @@
 </dd>
 </dl>
 </dd>
-<dt><font face="helvetica, arial"><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>(<a href="builtins.html#object">builtins.object</a>)
+<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.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
+<dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>)
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a>
@@ -62,14 +64,48 @@
 <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="Displayable">class <strong>Displayable</strong></a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)</font></td></tr>
+<font color="#000000" face="helvetica, arial"><a name="Displayable">class <strong>Displayable</strong></a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</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>Displayables&nbsp;are&nbsp;objects&nbsp;which&nbsp;are&nbsp;displayed&nbsp;on&nbsp;the&nbsp;screen.<br>
+&nbsp;<br>
+This&nbsp;is&nbsp;just&nbsp;the&nbsp;abstract&nbsp;class,&nbsp;defining&nbsp;basic&nbsp;operations<br>
+such&nbsp;as&nbsp;resizing,&nbsp;printing,&nbsp;changing&nbsp;colors.<br>
+Subclasses&nbsp;of&nbsp;displayable&nbsp;can&nbsp;extend&nbsp;these&nbsp;methods:<br>
+&nbsp;<br>
+<a href="#Displayable-draw">draw</a>()&nbsp;--&nbsp;draw&nbsp;the&nbsp;object.&nbsp;Is&nbsp;only&nbsp;called&nbsp;if&nbsp;visible.<br>
+<a href="#Displayable-poke">poke</a>()&nbsp;--&nbsp;is&nbsp;called&nbsp;just&nbsp;before&nbsp;<a href="#Displayable-draw">draw</a>(),&nbsp;even&nbsp;if&nbsp;not&nbsp;visible.<br>
+<a href="#Displayable-finalize">finalize</a>()&nbsp;--&nbsp;called&nbsp;after&nbsp;all&nbsp;objects&nbsp;finished&nbsp;drawing.<br>
+<a href="#Displayable-click">click</a>(event)&nbsp;--&nbsp;called&nbsp;with&nbsp;a&nbsp;MouseEvent.&nbsp;This&nbsp;is&nbsp;called&nbsp;on&nbsp;all<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible&nbsp;objects&nbsp;under&nbsp;the&nbsp;mouse,&nbsp;until&nbsp;one&nbsp;returns&nbsp;True.<br>
+<a href="#Displayable-press">press</a>(key)&nbsp;--&nbsp;called&nbsp;after&nbsp;a&nbsp;key&nbsp;press&nbsp;on&nbsp;focused&nbsp;objects.<br>
+<a href="#Displayable-destroy">destroy</a>()&nbsp;--&nbsp;called&nbsp;before&nbsp;destroying&nbsp;the&nbsp;displayable&nbsp;object<br>
+&nbsp;<br>
+Additionally,&nbsp;there&nbsp;are&nbsp;these&nbsp;methods:<br>
+&nbsp;<br>
+<a href="#Displayable-__contains__">__contains__</a>(item)&nbsp;--&nbsp;is&nbsp;the&nbsp;item&nbsp;(y,&nbsp;x)&nbsp;inside&nbsp;the&nbsp;widget?<br>
+&nbsp;<br>
+These&nbsp;attributes&nbsp;are&nbsp;set:<br>
+&nbsp;<br>
+Modifiable:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;focused&nbsp;--&nbsp;Focused&nbsp;objects&nbsp;receive&nbsp;<a href="#Displayable-press">press</a>()&nbsp;calls.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible&nbsp;--&nbsp;Visible&nbsp;objects&nbsp;receive&nbsp;<a href="#Displayable-draw">draw</a>()&nbsp;and&nbsp;<a href="#Displayable-finalize">finalize</a>()&nbsp;calls<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;need_redraw&nbsp;--&nbsp;Should&nbsp;the&nbsp;widget&nbsp;be&nbsp;redrawn?&nbsp;This&nbsp;variable&nbsp;may<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;set&nbsp;at&nbsp;various&nbsp;places&nbsp;in&nbsp;the&nbsp;script&nbsp;and&nbsp;should&nbsp;eventually&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handled&nbsp;(and&nbsp;unset)&nbsp;in&nbsp;the&nbsp;<a href="#Displayable-draw">draw</a>()&nbsp;method.<br>
+&nbsp;<br>
+Read-Only:&nbsp;(i.e.&nbsp;reccomended&nbsp;not&nbsp;to&nbsp;change&nbsp;manually)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win&nbsp;--&nbsp;the&nbsp;own&nbsp;curses&nbsp;window&nbsp;object<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent&nbsp;--&nbsp;the&nbsp;parent&nbsp;(<a href="#DisplayableContainer">DisplayableContainer</a>)&nbsp;object&nbsp;or&nbsp;None<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x,&nbsp;y,&nbsp;wid,&nbsp;hei&nbsp;--&nbsp;absolute&nbsp;coordinates&nbsp;and&nbsp;boundaries<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;settings,&nbsp;fm,&nbsp;env&nbsp;--&nbsp;inherited&nbsp;shared&nbsp;variables<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
 <dd><a href="ranger.gui.displayable.html#Displayable">Displayable</a></dd>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -82,22 +118,20 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="Displayable-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="Displayable-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="Displayable-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="Displayable-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="Displayable-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="Displayable-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="Displayable-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="Displayable-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="Displayable-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="Displayable-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Draw&nbsp;displayable.&nbsp;&nbsp;Called&nbsp;on&nbsp;every&nbsp;main&nbsp;iteration&nbsp;if&nbsp;the&nbsp;object<br>
-is&nbsp;visible.&nbsp;&nbsp;Override&nbsp;this!</tt></dd></dl>
+<dl><dt><a name="Displayable-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Draw&nbsp;the&nbsp;object.&nbsp;Called&nbsp;on&nbsp;every&nbsp;main&nbsp;iteration&nbsp;if&nbsp;visible.<br>
+Containers&nbsp;should&nbsp;call&nbsp;<a href="#Displayable-draw">draw</a>()&nbsp;on&nbsp;their&nbsp;contained&nbsp;objects&nbsp;here.<br>
+Override&nbsp;this!</tt></dd></dl>
 
 <dl><dt><a name="Displayable-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -110,16 +144,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="Displayable-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -136,8 +160,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="Displayable-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Displayable-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Displayable-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="Displayable-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="Displayable-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -145,13 +181,29 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#000000" face="helvetica, arial"><a name="DisplayableContainer">class <strong>DisplayableContainer</strong></a>(<a href="ranger.gui.displayable.html#Displayable">Displayable</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>DisplayableContainers&nbsp;are&nbsp;Displayables&nbsp;which&nbsp;contain&nbsp;other&nbsp;Displayables.<br>
+&nbsp;<br>
+This&nbsp;is&nbsp;also&nbsp;an&nbsp;abstract&nbsp;class.&nbsp;The&nbsp;methods&nbsp;draw,&nbsp;poke,&nbsp;finalize,<br>
+click,&nbsp;press&nbsp;and&nbsp;destroy&nbsp;are&nbsp;extended&nbsp;here&nbsp;and&nbsp;will&nbsp;recursively<br>
+call&nbsp;the&nbsp;function&nbsp;on&nbsp;all&nbsp;contained&nbsp;objects.<br>
+&nbsp;<br>
+New&nbsp;methods:<br>
+&nbsp;<br>
+<a href="#DisplayableContainer-add_child">add_child</a>(object)&nbsp;--&nbsp;add&nbsp;the&nbsp;object&nbsp;to&nbsp;the&nbsp;container.<br>
+<a href="#DisplayableContainer-remove_child">remove_child</a>(object)&nbsp;--&nbsp;remove&nbsp;the&nbsp;object&nbsp;from&nbsp;the&nbsp;container.<br>
+&nbsp;<br>
+New&nbsp;attributes:<br>
+&nbsp;<br>
+container&nbsp;--&nbsp;a&nbsp;list&nbsp;with&nbsp;all&nbsp;contained&nbsp;objects&nbsp;(rw)<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
 <dd><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a></dd>
 <dd><a href="ranger.gui.displayable.html#Displayable">Displayable</a></dd>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -159,7 +211,7 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 Methods defined here:<br>
 <dl><dt><a name="DisplayableContainer-__init__"><strong>__init__</strong></a>(self, win, env<font color="#909090">=None</font>, fm<font color="#909090">=None</font>, settings<font color="#909090">=None</font>)</dt></dl>
 
-<dl><dt><a name="DisplayableContainer-add_obj"><strong>add_obj</strong></a>(self, *objs)</dt></dl>
+<dl><dt><a name="DisplayableContainer-add_child"><strong>add_child</strong></a>(self, obj)</dt><dd><tt>Add&nbsp;the&nbsp;objects&nbsp;to&nbsp;the&nbsp;container.</tt></dd></dl>
 
 <dl><dt><a name="DisplayableContainer-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
@@ -169,15 +221,11 @@ Methods defined here:<br>
 
 <dl><dt><a name="DisplayableContainer-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;visible&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
-<dl><dt><a name="DisplayableContainer-get_focused_obj"><strong>get_focused_obj</strong></a>(self)</dt><dd><tt>Finds&nbsp;a&nbsp;focused&nbsp;displayable&nbsp;object&nbsp;in&nbsp;the&nbsp;container.</tt></dd></dl>
-
 <dl><dt><a name="DisplayableContainer-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
 <dl><dt><a name="DisplayableContainer-press"><strong>press</strong></a>(self, key)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>container</strong> = None</dl>
+<dl><dt><a name="DisplayableContainer-remove_child"><strong>remove_child</strong></a>(self, obj)</dt><dd><tt>Remove&nbsp;the&nbsp;object&nbsp;from&nbsp;the&nbsp;container.</tt></dd></dl>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">Displayable</a>:<br>
@@ -186,27 +234,14 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="DisplayableContainer-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
-<dl><dt><a name="DisplayableContainer-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="DisplayableContainer-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+<dl><dt><a name="DisplayableContainer-__str__"><strong>__str__</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="DisplayableContainer-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="DisplayableContainer-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="DisplayableContainer-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="DisplayableContainer-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -223,75 +258,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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 0x154e450&gt;</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="OutOfBoundsException">class <strong>OutOfBoundsException</strong></a>(<a href="builtins.html#Exception">builtins.Exception</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.gui.displayable.html#OutOfBoundsException">OutOfBoundsException</a></dd>
-<dd><a href="builtins.html#Exception">builtins.Exception</a></dd>
-<dd><a href="builtins.html#BaseException">builtins.BaseException</a></dd>
-<dd><a href="builtins.html#object">builtins.object</a></dd>
-</dl>
-<hr>
-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="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><a name="OutOfBoundsException-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#OutOfBoundsException-__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 inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br>
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d94a120&gt;<dd><tt>T.<a href="#OutOfBoundsException-__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="builtins.html#BaseException">builtins.BaseException</a>:<br>
-<dl><dt><a name="OutOfBoundsException-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#OutOfBoundsException-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="OutOfBoundsException-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#OutOfBoundsException-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="OutOfBoundsException-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
+Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="DisplayableContainer-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
 
-<dl><dt><a name="OutOfBoundsException-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#OutOfBoundsException-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
+<dl><dt><a name="DisplayableContainer-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
 
-<dl><dt><a name="OutOfBoundsException-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#OutOfBoundsException-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
-
-<dl><dt><a name="OutOfBoundsException-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
+<dl><dt><a name="DisplayableContainer-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
 
-<dl><dt><a name="OutOfBoundsException-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#OutOfBoundsException-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
+<dl><dt><a name="DisplayableContainer-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
 
-<dl><dt><a name="OutOfBoundsException-with_traceback"><strong>with_traceback</strong></a>(...)</dt><dd><tt><a href="builtins.html#Exception">Exception</a>.<a href="#OutOfBoundsException-with_traceback">with_traceback</a>(tb)&nbsp;--<br>
-set&nbsp;self.<strong>__traceback__</strong>&nbsp;to&nbsp;tb&nbsp;and&nbsp;return&nbsp;self.</tt></dd></dl>
+<dl><dt><a name="DisplayableContainer-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
 
 <hr>
-Data descriptors inherited from <a href="builtins.html#BaseException">builtins.BaseException</a>:<br>
-<dl><dt><strong>__cause__</strong></dt>
-<dd><tt>exception&nbsp;cause</tt></dd>
-</dl>
-<dl><dt><strong>__context__</strong></dt>
-<dd><tt>exception&nbsp;context</tt></dd>
-</dl>
-<dl><dt><strong>__dict__</strong></dt>
-</dl>
-<dl><dt><strong>__traceback__</strong></dt>
-</dl>
-<dl><dt><strong>args</strong></dt>
-</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="-combine"><strong>combine</strong></a>(seq, tup)</dt><dd><tt>Add&nbsp;seq&nbsp;and&nbsp;tup.&nbsp;Ensures&nbsp;that&nbsp;the&nbsp;result&nbsp;is&nbsp;a&nbsp;tuple.</tt></dd></dl>
-</td></tr></table>
+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 0x7f20a718ad90&gt;</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 58ba2974..601d64f7 100644
--- a/doc/pydoc/ranger.gui.html
+++ b/doc/pydoc/ranger.gui.html
@@ -17,12 +17,14 @@
 <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="ranger.gui.color.html">color</a><br>
+<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.defaultui.html">defaultui</a><br>
+</td><td width="25%" valign=top><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>
 <a href="ranger.gui.ui.html">ui</a><br>
-</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>
+<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>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.ui.html b/doc/pydoc/ranger.gui.ui.html
index 003a4ffd..415de67d 100644
--- a/doc/pydoc/ranger.gui.ui.html
+++ b/doc/pydoc/ranger.gui.ui.html
@@ -17,8 +17,9 @@
 <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>
+<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></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>
@@ -47,6 +48,7 @@
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -92,19 +94,15 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a>:<br>
-<dl><dt><a name="UI-add_obj"><strong>add_obj</strong></a>(self, *objs)</dt></dl>
+<dl><dt><a name="UI-add_child"><strong>add_child</strong></a>(self, obj)</dt><dd><tt>Add&nbsp;the&nbsp;objects&nbsp;to&nbsp;the&nbsp;container.</tt></dd></dl>
 
 <dl><dt><a name="UI-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
-<dl><dt><a name="UI-get_focused_obj"><strong>get_focused_obj</strong></a>(self)</dt><dd><tt>Finds&nbsp;a&nbsp;focused&nbsp;displayable&nbsp;object&nbsp;in&nbsp;the&nbsp;container.</tt></dd></dl>
-
 <dl><dt><a name="UI-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
 <dl><dt><a name="UI-press"><strong>press</strong></a>(self, key)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
 
-<hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a>:<br>
-<dl><dt><strong>container</strong> = None</dl>
+<dl><dt><a name="UI-remove_child"><strong>remove_child</strong></a>(self, obj)</dt><dd><tt>Remove&nbsp;the&nbsp;object&nbsp;from&nbsp;the&nbsp;container.</tt></dd></dl>
 
 <hr>
 Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
@@ -113,27 +111,14 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="UI-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
-<dl><dt><a name="UI-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="UI-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+<dl><dt><a name="UI-__str__"><strong>__str__</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="UI-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="UI-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="UI-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="UI-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -150,8 +135,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="UI-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="UI-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="UI-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="UI-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="UI-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table></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
new file mode 100644
index 00000000..fbda6d04
--- /dev/null
+++ b/doc/pydoc/ranger.gui.widgets.browsercolumn.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.widgets.browsercolumn</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.gui.html"><font color="#ffffff">gui</font></a>.<a href="ranger.gui.widgets.html"><font color="#ffffff">widgets</font></a>.browsercolumn</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/work/ranger/ranger/gui/widgets/browsercolumn.py">/home/hut/work/ranger/ranger/gui/widgets/browsercolumn.py</a></font></td></tr></table>
+    <p><tt>The&nbsp;<a href="#BrowserColumn">BrowserColumn</a>&nbsp;widget&nbsp;displays&nbsp;the&nbsp;contents&nbsp;of&nbsp;a&nbsp;directory&nbsp;or&nbsp;file.</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.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>)
+</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="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>
+    
+<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.gui.widgets.browsercolumn.html#BrowserColumn">BrowserColumn</a></dd>
+<dd><a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a></dd>
+<dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
+<dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
+<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
+<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</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-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Handle&nbsp;a&nbsp;MouseEvent</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Call&nbsp;either&nbsp;_draw_file()&nbsp;or&nbsp;_draw_directory()</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-has_preview"><strong>has_preview</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-poke"><strong>poke</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-resize"><strong>resize</strong></a>(self, y, x, hei, wid)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-scroll"><strong>scroll</strong></a>(self, relative)</dt><dd><tt>scroll&nbsp;by&nbsp;n&nbsp;lines</tt></dd></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>display_infostring</strong> = False</dl>
+
+<dl><dt><strong>main_column</strong> = False</dl>
+
+<dl><dt><strong>old_cf</strong> = None</dl>
+
+<dl><dt><strong>old_dir</strong> = None</dl>
+
+<dl><dt><strong>postpone_drawing</strong> = False</dl>
+
+<dl><dt><strong>scroll_begin</strong> = 0</dl>
+
+<dl><dt><strong>tagged_marker</strong> = '*'</dl>
+
+<dl><dt><strong>target</strong> = None</dl>
+
+<hr>
+Methods inherited from <a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>:<br>
+<dl><dt><a name="BrowserColumn-close"><strong>close</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=False</font>)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-move_horizontal"><strong>move_horizontal</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-open"><strong>open</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-press"><strong>press</strong></a>(self, key)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-set_source"><strong>set_source</strong></a>(self, source, strip<font color="#909090">=False</font>)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="ranger.gui.widgets.pager.html#Pager">ranger.gui.widgets.pager.Pager</a>:<br>
+<dl><dt><strong>old_scroll_begin</strong> = 0</dl>
+
+<dl><dt><strong>old_source</strong> = None</dl>
+
+<dl><dt><strong>old_startx</strong> = 0</dl>
+
+<dl><dt><strong>source</strong> = None</dl>
+
+<dl><dt><strong>source_is_stream</strong> = False</dl>
+
+<hr>
+Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<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>
+
+<dl><dt><a name="BrowserColumn-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
+Override&nbsp;this!</tt></dd></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 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>
+<hr>
+Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="BrowserColumn-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BrowserColumn-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="BrowserColumn-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x7f20a718ad90&gt;</dl>
+
+</td></tr></table></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
new file mode 100644
index 00000000..650e5f6f
--- /dev/null
+++ b/doc/pydoc/ranger.gui.widgets.browserview.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.widgets.browserview</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.gui.html"><font color="#ffffff">gui</font></a>.<a href="ranger.gui.widgets.html"><font color="#ffffff">widgets</font></a>.browserview</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/work/ranger/ranger/gui/widgets/browserview.py">/home/hut/work/ranger/ranger/gui/widgets/browserview.py</a></font></td></tr></table>
+    <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="#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.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</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.browserview.html#BrowserView">BrowserView</a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>, <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a>)
+</font></dt></dl>
+</dd>
+<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.browserview.html#BrowserView">BrowserView</a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>, <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</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="BrowserView">class <strong>BrowserView</strong></a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>, <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</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.gui.widgets.browserview.html#BrowserView">BrowserView</a></dd>
+<dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
+<dd><a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a></dd>
+<dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
+<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
+<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="BrowserView-__init__"><strong>__init__</strong></a>(self, win, ratios, preview<font color="#909090">=True</font>)</dt></dl>
+
+<dl><dt><a name="BrowserView-click"><strong>click</strong></a>(self, event)</dt></dl>
+
+<dl><dt><a name="BrowserView-close_pager"><strong>close_pager</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserView-draw"><strong>draw</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserView-open_pager"><strong>open_pager</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserView-poke"><strong>poke</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserView-resize"><strong>resize</strong></a>(self, y, x, hei, wid)</dt><dd><tt>Resize&nbsp;all&nbsp;the&nbsp;columns&nbsp;according&nbsp;to&nbsp;the&nbsp;given&nbsp;ratio</tt></dd></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>need_clear</strong> = False</dl>
+
+<dl><dt><strong>preview</strong> = True</dl>
+
+<dl><dt><strong>preview_available</strong> = True</dl>
+
+<dl><dt><strong>ratios</strong> = None</dl>
+
+<dl><dt><strong>stretch_ratios</strong> = None</dl>
+
+<hr>
+Methods inherited from <a href="ranger.gui.displayable.html#DisplayableContainer">ranger.gui.displayable.DisplayableContainer</a>:<br>
+<dl><dt><a name="BrowserView-add_child"><strong>add_child</strong></a>(self, obj)</dt><dd><tt>Add&nbsp;the&nbsp;objects&nbsp;to&nbsp;the&nbsp;container.</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;visible&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-press"><strong>press</strong></a>(self, key)</dt><dd><tt>Recursively&nbsp;called&nbsp;on&nbsp;objects&nbsp;in&nbsp;container</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-remove_child"><strong>remove_child</strong></a>(self, obj)</dt><dd><tt>Remove&nbsp;the&nbsp;object&nbsp;from&nbsp;the&nbsp;container.</tt></dd></dl>
+
+<hr>
+Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<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>
+
+<dl><dt><a name="BrowserView-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="BrowserView-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></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 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>
+<hr>
+Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="BrowserView-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BrowserView-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BrowserView-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="BrowserView-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x7f20a718ad90&gt;</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 a14b7212..87ed81c0 100644
--- a/doc/pydoc/ranger.gui.widgets.console.html
+++ b/doc/pydoc/ranger.gui.widgets.console.html
@@ -34,14 +34,19 @@ commands,&nbsp;searching&nbsp;and&nbsp;executing&nbsp;files.</tt></p>
 <dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#Console">Console</a>
 </font></dt><dd>
 <dl>
+<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a>
+</font></dt><dd>
+<dl>
 <dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#CommandConsole">CommandConsole</a>
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#QuickCommandConsole">QuickCommandConsole</a>
 </font></dt></dl>
 </dd>
+<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#QuickOpenConsole">QuickOpenConsole</a>
+</font></dt></dl>
+</dd>
 <dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#OpenConsole">OpenConsole</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#QuickOpenConsole">QuickOpenConsole</a>
 </font></dt><dt><font face="helvetica, arial"><a href="ranger.gui.widgets.console.html#SearchConsole">SearchConsole</a>
 </font></dt></dl>
 </dd>
@@ -52,31 +57,35 @@ commands,&nbsp;searching&nbsp;and&nbsp;executing&nbsp;files.</tt></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="CommandConsole">class <strong>CommandConsole</strong></a>(<a href="ranger.gui.widgets.console.html#Console">Console</a>)</font></td></tr>
+<font color="#000000" face="helvetica, arial"><a name="CommandConsole">class <strong>CommandConsole</strong></a>(<a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</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.gui.widgets.console.html#CommandConsole">CommandConsole</a></dd>
+<dd><a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a></dd>
 <dd><a href="ranger.gui.widgets.console.html#Console">Console</a></dd>
 <dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
 <dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="CommandConsole-execute"><strong>execute</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="CommandConsole-tab"><strong>tab</strong></a>(self, n<font color="#909090">=1</font>)</dt></dl>
+<dl><dt><a name="CommandConsole-execute"><strong>execute</strong></a>(self, cmd<font color="#909090">=None</font>)</dt></dl>
 
 <hr>
 Data and other attributes defined here:<br>
 <dl><dt><strong>prompt</strong> = ':'</dl>
 
 <hr>
+Methods inherited from <a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a>:<br>
+<dl><dt><a name="CommandConsole-tab"><strong>tab</strong></a>(self, n<font color="#909090">=1</font>)</dt></dl>
+
+<hr>
 Methods inherited from <a href="ranger.gui.widgets.console.html#Console">Console</a>:<br>
 <dl><dt><a name="CommandConsole-__init__"><strong>__init__</strong></a>(self, win)</dt></dl>
 
@@ -126,8 +135,6 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <dl><dt><strong>mode</strong> = None</dl>
 
-<dl><dt><strong>mode_classes</strong> = {'!': &lt;class 'ranger.gui.widgets.console.OpenConsole'&gt;, '/': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, ':': &lt;class 'ranger.gui.widgets.console.CommandConsole'&gt;, '&gt;': &lt;class 'ranger.gui.widgets.console.QuickCommandConsole'&gt;, '?': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, '@': &lt;class 'ranger.gui.widgets.console.QuickOpenConsole'&gt;}</dl>
-
 <dl><dt><strong>original_line</strong> = None</dl>
 
 <dl><dt><strong>override</strong> = None</dl>
@@ -143,16 +150,13 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="CommandConsole-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="CommandConsole-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="CommandConsole-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="CommandConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="CommandConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="CommandConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="CommandConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="CommandConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="CommandConsole-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -162,14 +166,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="CommandConsole-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -186,8 +182,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="CommandConsole-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CommandConsole-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CommandConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="CommandConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="CommandConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -203,6 +211,7 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -260,8 +269,6 @@ Data and other attributes defined here:<br>
 
 <dl><dt><strong>mode</strong> = None</dl>
 
-<dl><dt><strong>mode_classes</strong> = {'!': &lt;class 'ranger.gui.widgets.console.OpenConsole'&gt;, '/': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, ':': &lt;class 'ranger.gui.widgets.console.CommandConsole'&gt;, '&gt;': &lt;class 'ranger.gui.widgets.console.QuickCommandConsole'&gt;, '?': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, '@': &lt;class 'ranger.gui.widgets.console.QuickOpenConsole'&gt;}</dl>
-
 <dl><dt><strong>original_line</strong> = None</dl>
 
 <dl><dt><strong>override</strong> = None</dl>
@@ -279,31 +286,159 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="Console-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="Console-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="Console-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
+<dl><dt><a name="Console-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
+
+<dl><dt><a name="Console-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="Console-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Called&nbsp;before&nbsp;drawing,&nbsp;even&nbsp;if&nbsp;invisible</tt></dd></dl>
+
+<dl><dt><a name="Console-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></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 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>
+<hr>
+Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="Console-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Console-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
 <dl><dt><a name="Console-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
 
 <dl><dt><a name="Console-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
 
 <dl><dt><a name="Console-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
 
-<dl><dt><a name="Console-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</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 0x7f20a718ad90&gt;</dl>
 
-<dl><dt><a name="Console-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
-Override&nbsp;this!</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="ConsoleWithTab">class <strong>ConsoleWithTab</strong></a>(<a href="ranger.gui.widgets.console.html#Console">Console</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.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a></dd>
+<dd><a href="ranger.gui.widgets.console.html#Console">Console</a></dd>
+<dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
+<dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
+<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
+<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ConsoleWithTab-tab"><strong>tab</strong></a>(self, n<font color="#909090">=1</font>)</dt></dl>
 
-<dl><dt><a name="Console-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Called&nbsp;before&nbsp;drawing,&nbsp;even&nbsp;if&nbsp;invisible</tt></dd></dl>
+<hr>
+Methods inherited from <a href="ranger.gui.widgets.console.html#Console">Console</a>:<br>
+<dl><dt><a name="ConsoleWithTab-__init__"><strong>__init__</strong></a>(self, win)</dt></dl>
 
-<dl><dt><a name="Console-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
+<dl><dt><a name="ConsoleWithTab-add_to_history"><strong>add_to_history</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-clear"><strong>clear</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-close"><strong>close</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-delete"><strong>delete</strong></a>(self, mod)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-delete_rest"><strong>delete_rest</strong></a>(self, direction)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-delete_word"><strong>delete_word</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-draw"><strong>draw</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-execute"><strong>execute</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-finalize"><strong>finalize</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-history_move"><strong>history_move</strong></a>(self, n)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-init"><strong>init</strong></a>(self)</dt><dd><tt>override&nbsp;this.&nbsp;Called&nbsp;directly&nbsp;after&nbsp;class&nbsp;change</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-on_line_change"><strong>on_line_change</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-open"><strong>open</strong></a>(self, mode, string<font color="#909090">=''</font>)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-paste"><strong>paste</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-press"><strong>press</strong></a>(self, key)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-type_key"><strong>type_key</strong></a>(self, key)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="ranger.gui.widgets.console.html#Console">Console</a>:<br>
+<dl><dt><strong>commandlist</strong> = None</dl>
+
+<dl><dt><strong>copy</strong> = ''</dl>
+
+<dl><dt><strong>histories</strong> = None</dl>
+
+<dl><dt><strong>history</strong> = None</dl>
+
+<dl><dt><strong>last_cursor_mode</strong> = 1</dl>
+
+<dl><dt><strong>mode</strong> = None</dl>
+
+<dl><dt><strong>original_line</strong> = None</dl>
+
+<dl><dt><strong>override</strong> = None</dl>
+
+<dl><dt><strong>prompt</strong> = ':'</dl>
+
+<dl><dt><strong>tab_deque</strong> = None</dl>
+
+<dl><dt><strong>visible</strong> = False</dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
+Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<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>
+
+<dl><dt><a name="ConsoleWithTab-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-__str__"><strong>__str__</strong></a>(self)</dt></dl>
 
-<dl><dt><strong>focused</strong> = False</dl>
+<dl><dt><a name="ConsoleWithTab-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
+Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><strong>win</strong> = None</dl>
+<dl><dt><a name="ConsoleWithTab-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Called&nbsp;before&nbsp;drawing,&nbsp;even&nbsp;if&nbsp;invisible</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
 Data and other attributes inherited from <a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>:<br>
@@ -322,8 +457,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="ConsoleWithTab-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ConsoleWithTab-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="ConsoleWithTab-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -331,7 +478,22 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#000000" face="helvetica, arial"><a name="OpenConsole">class <strong>OpenConsole</strong></a>(<a href="ranger.gui.widgets.console.html#Console">Console</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>The&nbsp;<a href="#OpenConsole">OpenConsole</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>
+There&nbsp;is&nbsp;a&nbsp;special&nbsp;syntax&nbsp;for&nbsp;more&nbsp;control:<br>
+&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;<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;<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>
+<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>
 <dd><a href="ranger.gui.widgets.console.html#Console">Console</a></dd>
@@ -340,10 +502,17 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
 <hr>
+Methods defined here:<br>
+<dl><dt><a name="OpenConsole-execute"><strong>execute</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="OpenConsole-init"><strong>init</strong></a>(self)</dt></dl>
+
+<hr>
 Data and other attributes defined here:<br>
 <dl><dt><strong>prompt</strong> = '!'</dl>
 
@@ -365,14 +534,10 @@ Methods inherited from <a href="ranger.gui.widgets.console.html#Console">Console
 
 <dl><dt><a name="OpenConsole-draw"><strong>draw</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="OpenConsole-execute"><strong>execute</strong></a>(self)</dt></dl>
-
 <dl><dt><a name="OpenConsole-finalize"><strong>finalize</strong></a>(self)</dt></dl>
 
 <dl><dt><a name="OpenConsole-history_move"><strong>history_move</strong></a>(self, n)</dt></dl>
 
-<dl><dt><a name="OpenConsole-init"><strong>init</strong></a>(self)</dt><dd><tt>override&nbsp;this.&nbsp;Called&nbsp;directly&nbsp;after&nbsp;class&nbsp;change</tt></dd></dl>
-
 <dl><dt><a name="OpenConsole-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></dl>
 
 <dl><dt><a name="OpenConsole-on_line_change"><strong>on_line_change</strong></a>(self)</dt></dl>
@@ -401,8 +566,6 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <dl><dt><strong>mode</strong> = None</dl>
 
-<dl><dt><strong>mode_classes</strong> = {'!': &lt;class 'ranger.gui.widgets.console.OpenConsole'&gt;, '/': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, ':': &lt;class 'ranger.gui.widgets.console.CommandConsole'&gt;, '&gt;': &lt;class 'ranger.gui.widgets.console.QuickCommandConsole'&gt;, '?': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, '@': &lt;class 'ranger.gui.widgets.console.QuickOpenConsole'&gt;}</dl>
-
 <dl><dt><strong>original_line</strong> = None</dl>
 
 <dl><dt><strong>override</strong> = None</dl>
@@ -418,16 +581,13 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="OpenConsole-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="OpenConsole-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="OpenConsole-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="OpenConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="OpenConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="OpenConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="OpenConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="OpenConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="OpenConsole-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -437,14 +597,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="OpenConsole-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -461,8 +613,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="OpenConsole-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="OpenConsole-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="OpenConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="OpenConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="OpenConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -470,16 +634,29 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <td colspan=3 valign=bottom>&nbsp;<br>
 <font color="#000000" face="helvetica, arial"><a name="QuickCommandConsole">class <strong>QuickCommandConsole</strong></a>(<a href="ranger.gui.widgets.console.html#CommandConsole">CommandConsole</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>The&nbsp;<a href="#QuickCommandConsole">QuickCommandConsole</a>&nbsp;is&nbsp;essentially&nbsp;the&nbsp;same&nbsp;as&nbsp;the<br>
+<a href="#CommandConsole">CommandConsole</a>,&nbsp;and&nbsp;includes&nbsp;one&nbsp;additional&nbsp;feature:<br>
+After&nbsp;each&nbsp;letter&nbsp;you&nbsp;type,&nbsp;it&nbsp;checks&nbsp;whether&nbsp;the&nbsp;command&nbsp;as&nbsp;it<br>
+stands&nbsp;there&nbsp;could&nbsp;be&nbsp;executed&nbsp;in&nbsp;a&nbsp;meaningful&nbsp;way,&nbsp;and&nbsp;if&nbsp;it&nbsp;does,<br>
+run&nbsp;it&nbsp;right&nbsp;away.<br>
+&nbsp;<br>
+Example:<br>
+&gt;cd&nbsp;..<br>
+As&nbsp;you&nbsp;type&nbsp;the&nbsp;last&nbsp;dot,&nbsp;The&nbsp;console&nbsp;will&nbsp;recognize&nbsp;what&nbsp;you&nbsp;mean<br>
+and&nbsp;enter&nbsp;the&nbsp;parent&nbsp;directory&nbsp;saving&nbsp;you&nbsp;the&nbsp;time&nbsp;of&nbsp;pressing&nbsp;enter.<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#QuickCommandConsole">QuickCommandConsole</a></dd>
 <dd><a href="ranger.gui.widgets.console.html#CommandConsole">CommandConsole</a></dd>
+<dd><a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a></dd>
 <dd><a href="ranger.gui.widgets.console.html#Console">Console</a></dd>
 <dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
 <dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -493,8 +670,10 @@ Data and other attributes defined here:<br>
 
 <hr>
 Methods inherited from <a href="ranger.gui.widgets.console.html#CommandConsole">CommandConsole</a>:<br>
-<dl><dt><a name="QuickCommandConsole-execute"><strong>execute</strong></a>(self)</dt></dl>
+<dl><dt><a name="QuickCommandConsole-execute"><strong>execute</strong></a>(self, cmd<font color="#909090">=None</font>)</dt></dl>
 
+<hr>
+Methods inherited from <a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a>:<br>
 <dl><dt><a name="QuickCommandConsole-tab"><strong>tab</strong></a>(self, n<font color="#909090">=1</font>)</dt></dl>
 
 <hr>
@@ -545,8 +724,6 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <dl><dt><strong>mode</strong> = None</dl>
 
-<dl><dt><strong>mode_classes</strong> = {'!': &lt;class 'ranger.gui.widgets.console.OpenConsole'&gt;, '/': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, ':': &lt;class 'ranger.gui.widgets.console.CommandConsole'&gt;, '&gt;': &lt;class 'ranger.gui.widgets.console.QuickCommandConsole'&gt;, '?': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, '@': &lt;class 'ranger.gui.widgets.console.QuickOpenConsole'&gt;}</dl>
-
 <dl><dt><strong>original_line</strong> = None</dl>
 
 <dl><dt><strong>override</strong> = None</dl>
@@ -562,16 +739,13 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="QuickCommandConsole-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="QuickCommandConsole-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="QuickCommandConsole-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="QuickCommandConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="QuickCommandConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="QuickCommandConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="QuickCommandConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="QuickCommandConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="QuickCommandConsole-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -581,14 +755,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="QuickCommandConsole-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -605,14 +771,26 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="QuickCommandConsole-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="QuickCommandConsole-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="QuickCommandConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="QuickCommandConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="QuickCommandConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</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="QuickOpenConsole">class <strong>QuickOpenConsole</strong></a>(<a href="ranger.gui.widgets.console.html#Console">Console</a>)</font></td></tr>
+<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>
@@ -622,12 +800,14 @@ ie.&nbsp;the&nbsp;d-flag&nbsp;will&nbsp;run&nbsp;it&nbsp;detached&nbsp;from&nbsp
 <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>
+<dd><a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a></dd>
 <dd><a href="ranger.gui.widgets.console.html#Console">Console</a></dd>
 <dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
 <dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -642,6 +822,10 @@ Data and other attributes defined here:<br>
 <dl><dt><strong>prompt</strong> = 'open with: '</dl>
 
 <hr>
+Methods inherited from <a href="ranger.gui.widgets.console.html#ConsoleWithTab">ConsoleWithTab</a>:<br>
+<dl><dt><a name="QuickOpenConsole-tab"><strong>tab</strong></a>(self, n<font color="#909090">=1</font>)</dt></dl>
+
+<hr>
 Methods inherited from <a href="ranger.gui.widgets.console.html#Console">Console</a>:<br>
 <dl><dt><a name="QuickOpenConsole-__init__"><strong>__init__</strong></a>(self, win)</dt></dl>
 
@@ -673,8 +857,6 @@ Methods inherited from <a href="ranger.gui.widgets.console.html#Console">Console
 
 <dl><dt><a name="QuickOpenConsole-press"><strong>press</strong></a>(self, key)</dt></dl>
 
-<dl><dt><a name="QuickOpenConsole-tab"><strong>tab</strong></a>(self)</dt></dl>
-
 <dl><dt><a name="QuickOpenConsole-type_key"><strong>type_key</strong></a>(self, key)</dt></dl>
 
 <hr>
@@ -691,8 +873,6 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <dl><dt><strong>mode</strong> = None</dl>
 
-<dl><dt><strong>mode_classes</strong> = {'!': &lt;class 'ranger.gui.widgets.console.OpenConsole'&gt;, '/': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, ':': &lt;class 'ranger.gui.widgets.console.CommandConsole'&gt;, '&gt;': &lt;class 'ranger.gui.widgets.console.QuickCommandConsole'&gt;, '?': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, '@': &lt;class 'ranger.gui.widgets.console.QuickOpenConsole'&gt;}</dl>
-
 <dl><dt><strong>original_line</strong> = None</dl>
 
 <dl><dt><strong>override</strong> = None</dl>
@@ -708,16 +888,13 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="QuickOpenConsole-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="QuickOpenConsole-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="QuickOpenConsole-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="QuickOpenConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="QuickOpenConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="QuickOpenConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="QuickOpenConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="QuickOpenConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="QuickOpenConsole-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -727,14 +904,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="QuickOpenConsole-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -751,8 +920,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="QuickOpenConsole-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="QuickOpenConsole-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="QuickOpenConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="QuickOpenConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="QuickOpenConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table> <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -769,6 +950,7 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -832,8 +1014,6 @@ Data and other attributes inherited from <a href="ranger.gui.widgets.console.htm
 
 <dl><dt><strong>mode</strong> = None</dl>
 
-<dl><dt><strong>mode_classes</strong> = {'!': &lt;class 'ranger.gui.widgets.console.OpenConsole'&gt;, '/': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, ':': &lt;class 'ranger.gui.widgets.console.CommandConsole'&gt;, '&gt;': &lt;class 'ranger.gui.widgets.console.QuickCommandConsole'&gt;, '?': &lt;class 'ranger.gui.widgets.console.SearchConsole'&gt;, '@': &lt;class 'ranger.gui.widgets.console.QuickOpenConsole'&gt;}</dl>
-
 <dl><dt><strong>original_line</strong> = None</dl>
 
 <dl><dt><strong>override</strong> = None</dl>
@@ -849,16 +1029,13 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="SearchConsole-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="SearchConsole-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="SearchConsole-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="SearchConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="SearchConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="SearchConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="SearchConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="SearchConsole-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="SearchConsole-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -868,14 +1045,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="SearchConsole-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -892,8 +1061,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="SearchConsole-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SearchConsole-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SearchConsole-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="SearchConsole-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="SearchConsole-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -903,6 +1084,7 @@ Data and other attributes inherited from <a href="ranger.shared.settings.html#Se
     
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%"><strong>DEFAULT_HISTORY</strong> = 0<br>
+<strong>OPEN_HISTORY</strong> = 3<br>
 <strong>QUICKOPEN_HISTORY</strong> = 2<br>
 <strong>SEARCH_HISTORY</strong> = 1</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.console_mode.html b/doc/pydoc/ranger.gui.widgets.console_mode.html
new file mode 100644
index 00000000..c62ed61c
--- /dev/null
+++ b/doc/pydoc/ranger.gui.widgets.console_mode.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.widgets.console_mode</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.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/work/ranger/ranger/gui/widgets/console_mode.py">/home/hut/work/ranger/ranger/gui/widgets/console_mode.py</a></font></td></tr></table>
+    <p></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="-all_modes"><strong>all_modes</strong></a>(mode)</dt><dd><tt>Returns&nbsp;a&nbsp;generator&nbsp;containing&nbsp;all&nbsp;valid&nbsp;modes.</tt></dd></dl>
+ <dl><dt><a name="-is_valid_mode"><strong>is_valid_mode</strong></a>(mode)</dt><dd><tt>Returns&nbsp;True&nbsp;or&nbsp;False&nbsp;depending&nbsp;on&nbsp;whether&nbsp;the&nbsp;mode&nbsp;is&nbsp;valid&nbsp;or&nbsp;not.</tt></dd></dl>
+ <dl><dt><a name="-mode_to_class"><strong>mode_to_class</strong></a>(mode)</dt><dd><tt>Associates&nbsp;modes&nbsp;with&nbsp;the&nbsp;actual&nbsp;classes<br>
+from&nbsp;ranger.gui.widgets.console.</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>COMMAND</strong> = 1<br>
+<strong>COMMAND_QUICK</strong> = 2<br>
+<strong>DEFAULT</strong> = 0<br>
+<strong>OPEN</strong> = 3<br>
+<strong>OPEN_QUICK</strong> = 4<br>
+<strong>SEARCH</strong> = 5</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.html b/doc/pydoc/ranger.gui.widgets.html
index 7c93bf98..38ff3224 100644
--- a/doc/pydoc/ranger.gui.widgets.html
+++ b/doc/pydoc/ranger.gui.widgets.html
@@ -17,13 +17,14 @@
 <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="ranger.gui.widgets.console.html">console</a><br>
-<a href="ranger.gui.widgets.filelist.html">filelist</a><br>
-</td><td width="25%" valign=top><a href="ranger.gui.widgets.filelistcontainer.html">filelistcontainer</a><br>
-<a href="ranger.gui.widgets.notify.html">notify</a><br>
-</td><td width="25%" valign=top><a href="ranger.gui.widgets.process_manager.html">process_manager</a><br>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="ranger.gui.widgets.browsercolumn.html">browsercolumn</a><br>
+<a href="ranger.gui.widgets.browserview.html">browserview</a><br>
+</td><td width="25%" valign=top><a href="ranger.gui.widgets.console.html">console</a><br>
+<a href="ranger.gui.widgets.console_mode.html">console_mode</a><br>
+</td><td width="25%" valign=top><a href="ranger.gui.widgets.pager.html">pager</a><br>
 <a href="ranger.gui.widgets.statusbar.html">statusbar</a><br>
-</td><td width="25%" valign=top><a href="ranger.gui.widgets.titlebar.html">titlebar</a><br>
+</td><td width="25%" valign=top><a href="ranger.gui.widgets.taskview.html">taskview</a><br>
+<a href="ranger.gui.widgets.titlebar.html">titlebar</a><br>
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -32,7 +33,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="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)
+<dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>)
 </font></dt><dd>
 <dl>
 <dt><font face="helvetica, arial"><a href="ranger.gui.widgets.html#Widget">Widget</a>
@@ -55,6 +56,7 @@ classification&nbsp;of&nbsp;widgets.<br>&nbsp;</tt></td></tr>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -67,22 +69,20 @@ item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&n
 
 <dl><dt><a name="Widget-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="Widget-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="Widget-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="Widget-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="Widget-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="Widget-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="Widget-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
+<dl><dt><a name="Widget-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
 <dl><dt><a name="Widget-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="Widget-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Draw&nbsp;displayable.&nbsp;&nbsp;Called&nbsp;on&nbsp;every&nbsp;main&nbsp;iteration&nbsp;if&nbsp;the&nbsp;object<br>
-is&nbsp;visible.&nbsp;&nbsp;Override&nbsp;this!</tt></dd></dl>
+<dl><dt><a name="Widget-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Draw&nbsp;the&nbsp;object.&nbsp;Called&nbsp;on&nbsp;every&nbsp;main&nbsp;iteration&nbsp;if&nbsp;visible.<br>
+Containers&nbsp;should&nbsp;call&nbsp;<a href="#Widget-draw">draw</a>()&nbsp;on&nbsp;their&nbsp;contained&nbsp;objects&nbsp;here.<br>
+Override&nbsp;this!</tt></dd></dl>
 
 <dl><dt><a name="Widget-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
 Override&nbsp;this!</tt></dd></dl>
@@ -95,16 +95,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="Widget-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -121,8 +111,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="Widget-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Widget-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Widget-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="Widget-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="Widget-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</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
new file mode 100644
index 00000000..e6df29e6
--- /dev/null
+++ b/doc/pydoc/ranger.gui.widgets.pager.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.widgets.pager</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.gui.html"><font color="#ffffff">gui</font></a>.<a href="ranger.gui.widgets.html"><font color="#ffffff">widgets</font></a>.pager</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/work/ranger/ranger/gui/widgets/pager.py">/home/hut/work/ranger/ranger/gui/widgets/pager.py</a></font></td></tr></table>
+    <p><tt>The&nbsp;pager&nbsp;displays&nbsp;text&nbsp;and&nbsp;allows&nbsp;you&nbsp;to&nbsp;scroll&nbsp;inside&nbsp;it.</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.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.pager.html#Pager">Pager</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="Pager">class <strong>Pager</strong></a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</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.gui.widgets.pager.html#Pager">Pager</a></dd>
+<dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
+<dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
+<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
+<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Pager-__init__"><strong>__init__</strong></a>(self, win, embedded<font color="#909090">=False</font>)</dt></dl>
+
+<dl><dt><a name="Pager-click"><strong>click</strong></a>(self, event)</dt></dl>
+
+<dl><dt><a name="Pager-close"><strong>close</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Pager-draw"><strong>draw</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Pager-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=False</font>)</dt></dl>
+
+<dl><dt><a name="Pager-move_horizontal"><strong>move_horizontal</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="Pager-open"><strong>open</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Pager-press"><strong>press</strong></a>(self, key)</dt></dl>
+
+<dl><dt><a name="Pager-set_source"><strong>set_source</strong></a>(self, source, strip<font color="#909090">=False</font>)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>old_scroll_begin</strong> = 0</dl>
+
+<dl><dt><strong>old_source</strong> = None</dl>
+
+<dl><dt><strong>old_startx</strong> = 0</dl>
+
+<dl><dt><strong>source</strong> = None</dl>
+
+<dl><dt><strong>source_is_stream</strong> = False</dl>
+
+<hr>
+Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<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>
+
+<dl><dt><a name="Pager-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
+<dl><dt><a name="Pager-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Pager-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
+
+<dl><dt><a name="Pager-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="Pager-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="Pager-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Called&nbsp;before&nbsp;drawing,&nbsp;even&nbsp;if&nbsp;invisible</tt></dd></dl>
+
+<dl><dt><a name="Pager-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></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 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>
+<hr>
+Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="Pager-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Pager-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Pager-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="Pager-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="Pager-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x7f20a718ad90&gt;</dl>
+
+</td></tr></table></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 9144105d..52d245b8 100644
--- a/doc/pydoc/ranger.gui.widgets.statusbar.html
+++ b/doc/pydoc/ranger.gui.widgets.statusbar.html
@@ -9,9 +9,11 @@
 <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>.statusbar</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/work/ranger/ranger/gui/widgets/statusbar.py">/home/hut/work/ranger/ranger/gui/widgets/statusbar.py</a></font></td></tr></table>
-    <p><tt>The&nbsp;<a href="#StatusBar">StatusBar</a>&nbsp;displays&nbsp;information&nbsp;about&nbsp;the&nbsp;currently&nbsp;selected&nbsp;file<br>
-in&nbsp;the&nbsp;same&nbsp;form&nbsp;as&nbsp;the&nbsp;"ls&nbsp;-l"&nbsp;command&nbsp;on&nbsp;the&nbsp;left&nbsp;side,&nbsp;and<br>
-some&nbsp;additional&nbsp;info&nbsp;about&nbsp;the&nbsp;current&nbsp;directory&nbsp;on&nbsp;the&nbsp;right&nbsp;side.</tt></p>
+    <p><tt>The&nbsp;statusbar&nbsp;displays&nbsp;information&nbsp;about&nbsp;the&nbsp;current&nbsp;file&nbsp;and&nbsp;directory.<br>
+&nbsp;<br>
+On&nbsp;the&nbsp;left&nbsp;side,&nbsp;there&nbsp;is&nbsp;a&nbsp;display&nbsp;similar&nbsp;to&nbsp;what&nbsp;"ls&nbsp;-l"&nbsp;would<br>
+print&nbsp;for&nbsp;the&nbsp;current&nbsp;file.&nbsp;&nbsp;The&nbsp;right&nbsp;side&nbsp;shows&nbsp;directory&nbsp;information<br>
+such&nbsp;as&nbsp;the&nbsp;space&nbsp;used&nbsp;by&nbsp;all&nbsp;the&nbsp;files&nbsp;in&nbsp;this&nbsp;directory.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -20,6 +22,12 @@ some&nbsp;additional&nbsp;info&nbsp;about&nbsp;the&nbsp;current&nbsp;directory&n
     
 <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="builtins.html#object">builtins.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.statusbar.html#Message">Message</a>
+</font></dt></dl>
+</dd>
 <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>
@@ -31,12 +39,42 @@ some&nbsp;additional&nbsp;info&nbsp;about&nbsp;the&nbsp;current&nbsp;directory&n
 <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="Message">class <strong>Message</strong></a>(<a href="builtins.html#object">builtins.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="Message-__init__"><strong>__init__</strong></a>(self, text, duration, bad)</dt></dl>
+
+<dl><dt><a name="Message-is_alive"><strong>is_alive</strong></a>(self)</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>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>bad</strong> = False</dl>
+
+<dl><dt><strong>elapse</strong> = None</dl>
+
+<dl><dt><strong>text</strong> = None</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="StatusBar">class <strong>StatusBar</strong></a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>)</font></td></tr>
     
 <tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
-<td colspan=2><tt>The&nbsp;<a href="#StatusBar">StatusBar</a>&nbsp;displays&nbsp;information&nbsp;about&nbsp;the&nbsp;currently&nbsp;selected&nbsp;file<br>
-in&nbsp;the&nbsp;same&nbsp;form&nbsp;as&nbsp;the&nbsp;"ls&nbsp;-l"&nbsp;command&nbsp;on&nbsp;the&nbsp;left&nbsp;side,&nbsp;and<br>
-some&nbsp;additional&nbsp;info&nbsp;about&nbsp;the&nbsp;current&nbsp;directory&nbsp;on&nbsp;the&nbsp;right&nbsp;side.<br>&nbsp;</tt></td></tr>
+<td colspan=2><tt>The&nbsp;statusbar&nbsp;displays&nbsp;information&nbsp;about&nbsp;the&nbsp;current&nbsp;file&nbsp;and&nbsp;directory.<br>
+&nbsp;<br>
+On&nbsp;the&nbsp;left&nbsp;side,&nbsp;there&nbsp;is&nbsp;a&nbsp;display&nbsp;similar&nbsp;to&nbsp;what&nbsp;"ls&nbsp;-l"&nbsp;would<br>
+print&nbsp;for&nbsp;the&nbsp;current&nbsp;file.&nbsp;&nbsp;The&nbsp;right&nbsp;side&nbsp;shows&nbsp;directory&nbsp;information<br>
+such&nbsp;as&nbsp;the&nbsp;space&nbsp;used&nbsp;by&nbsp;all&nbsp;the&nbsp;files&nbsp;in&nbsp;this&nbsp;directory.<br>&nbsp;</tt></td></tr>
 <tr><td>&nbsp;</td>
 <td width="100%"><dl><dt>Method resolution order:</dt>
 <dd><a href="ranger.gui.widgets.statusbar.html#StatusBar">StatusBar</a></dd>
@@ -45,26 +83,31 @@ some&nbsp;additional&nbsp;info&nbsp;about&nbsp;the&nbsp;current&nbsp;directory&n
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
 <hr>
 Methods defined here:<br>
-<dl><dt><a name="StatusBar-__init__"><strong>__init__</strong></a>(self, win, filelist<font color="#909090">=None</font>)</dt></dl>
+<dl><dt><a name="StatusBar-__init__"><strong>__init__</strong></a>(self, win, column<font color="#909090">=None</font>)</dt></dl>
 
 <dl><dt><a name="StatusBar-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Draw&nbsp;the&nbsp;statusbar</tt></dd></dl>
 
+<dl><dt><a name="StatusBar-notify"><strong>notify</strong></a>(self, text, duration<font color="#909090">=4</font>, bad<font color="#909090">=False</font>)</dt></dl>
+
 <hr>
 Data and other attributes defined here:<br>
 <dl><dt><strong>groups</strong> = {}</dl>
 
-<dl><dt><strong>old_cf</strong> = None</dl>
+<dl><dt><strong>hint</strong> = None</dl>
 
-<dl><dt><strong>old_mtime</strong> = None</dl>
+<dl><dt><strong>msg</strong> = None</dl>
+
+<dl><dt><strong>old_cf</strong> = None</dl>
 
-<dl><dt><strong>old_wid</strong> = None</dl>
+<dl><dt><strong>old_hint</strong> = None</dl>
 
-<dl><dt><strong>override</strong> = None</dl>
+<dl><dt><strong>old_mtime</strong> = None</dl>
 
 <dl><dt><strong>owners</strong> = {}</dl>
 
@@ -75,22 +118,19 @@ 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-__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>
+item&nbsp;can&nbsp;be&nbsp;an&nbsp;iterable&nbsp;like&nbsp;[y,&nbsp;x]&nbsp;or&nbsp;an&nbsp;<a href="builtins.html#object">object</a>&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
 
 <dl><dt><a name="StatusBar-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="StatusBar-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="StatusBar-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="StatusBar-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+<dl><dt><a name="StatusBar-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;<a href="builtins.html#object">object</a>.</tt></dd></dl>
 
-<dl><dt><a name="StatusBar-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
-
-<dl><dt><a name="StatusBar-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="StatusBar-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object</tt></dd></dl>
-
-<dl><dt><a name="StatusBar-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
+<dl><dt><a name="StatusBar-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;<a href="builtins.html#object">object</a>&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
 
 <dl><dt><a name="StatusBar-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
@@ -104,16 +144,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="StatusBar-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -130,8 +160,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="StatusBar-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="StatusBar-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="StatusBar-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="StatusBar-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="StatusBar-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -160,5 +202,9 @@ When&nbsp;'seconds'&nbsp;is&nbsp;not&nbsp;passed&nbsp;in,&nbsp;convert&nbsp;the&
 Convert&nbsp;a&nbsp;time&nbsp;tuple&nbsp;to&nbsp;a&nbsp;string&nbsp;according&nbsp;to&nbsp;a&nbsp;format&nbsp;specification.<br>
 See&nbsp;the&nbsp;library&nbsp;reference&nbsp;manual&nbsp;for&nbsp;formatting&nbsp;codes.&nbsp;When&nbsp;the&nbsp;time&nbsp;tuple<br>
 is&nbsp;not&nbsp;present,&nbsp;current&nbsp;time&nbsp;as&nbsp;returned&nbsp;by&nbsp;<a href="#-localtime">localtime</a>()&nbsp;is&nbsp;used.</tt></dd></dl>
+ <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>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.taskview.html b/doc/pydoc/ranger.gui.widgets.taskview.html
new file mode 100644
index 00000000..548d55d9
--- /dev/null
+++ b/doc/pydoc/ranger.gui.widgets.taskview.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.gui.widgets.taskview</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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.gui.html"><font color="#ffffff">gui</font></a>.<a href="ranger.gui.widgets.html"><font color="#ffffff">widgets</font></a>.taskview</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/work/ranger/ranger/gui/widgets/taskview.py">/home/hut/work/ranger/ranger/gui/widgets/taskview.py</a></font></td></tr></table>
+    <p><tt>The&nbsp;<a href="#TaskView">TaskView</a>&nbsp;allows&nbsp;you&nbsp;to&nbsp;modify&nbsp;what&nbsp;the&nbsp;loader&nbsp;is&nbsp;doing.</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>
+    
+<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.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>(<a href="builtins.html#object">builtins.object</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.taskview.html#TaskView">TaskView</a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>)
+</font></dt></dl>
+</dd>
+<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.taskview.html#TaskView">TaskView</a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</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="TaskView">class <strong>TaskView</strong></a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</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.gui.widgets.taskview.html#TaskView">TaskView</a></dd>
+<dd><a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a></dd>
+<dd><a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a></dd>
+<dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
+<dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
+<dd><a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="TaskView-__init__"><strong>__init__</strong></a>(self, win)</dt></dl>
+
+<dl><dt><a name="TaskView-draw"><strong>draw</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TaskView-get_list"><strong>get_list</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TaskView-press"><strong>press</strong></a>(self, key)</dt></dl>
+
+<dl><dt><a name="TaskView-task_move"><strong>task_move</strong></a>(self, absolute, i<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="TaskView-task_remove"><strong>task_remove</strong></a>(self, i<font color="#909090">=None</font>)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>old_lst</strong> = None</dl>
+
+<hr>
+Methods inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
+<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>
+
+<dl><dt><a name="TaskView-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
+
+<dl><dt><a name="TaskView-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TaskView-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="TaskView-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
+
+<dl><dt><a name="TaskView-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="TaskView-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
+Override&nbsp;this!</tt></dd></dl>
+
+<dl><dt><a name="TaskView-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Called&nbsp;before&nbsp;drawing,&nbsp;even&nbsp;if&nbsp;invisible</tt></dd></dl>
+
+<dl><dt><a name="TaskView-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></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 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>
+<hr>
+Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="TaskView-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="TaskView-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="TaskView-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="TaskView-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="TaskView-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x7f20a718ad90&gt;</dl>
+
+<hr>
+Methods inherited from <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>:<br>
+<dl><dt><a name="TaskView-correct_pointer"><strong>correct_pointer</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TaskView-get_height"><strong>get_height</strong></a>(self)</dt><dd><tt>OVERRIDE&nbsp;THIS</tt></dd></dl>
+
+<dl><dt><a name="TaskView-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=False</font>)</dt></dl>
+
+<dl><dt><a name="TaskView-move_to_obj"><strong>move_to_obj</strong></a>(self, arg, attr<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="TaskView-pointer_is_synced"><strong>pointer_is_synced</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TaskView-sync_index"><strong>sync_index</strong></a>(self, **kw)</dt></dl>
+
+</td></tr></table></td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.gui.widgets.titlebar.html b/doc/pydoc/ranger.gui.widgets.titlebar.html
index c7052477..fc12df2a 100644
--- a/doc/pydoc/ranger.gui.widgets.titlebar.html
+++ b/doc/pydoc/ranger.gui.widgets.titlebar.html
@@ -9,8 +9,9 @@
 <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>.titlebar</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/work/ranger/ranger/gui/widgets/titlebar.py">/home/hut/work/ranger/ranger/gui/widgets/titlebar.py</a></font></td></tr></table>
-    <p><tt>The&nbsp;<a href="#TitleBar">TitleBar</a>&nbsp;widget&nbsp;displays&nbsp;the&nbsp;current&nbsp;path&nbsp;and&nbsp;some&nbsp;other&nbsp;useful<br>
-information.</tt></p>
+    <p><tt>The&nbsp;titlebar&nbsp;is&nbsp;the&nbsp;widget&nbsp;at&nbsp;the&nbsp;top,&nbsp;giving&nbsp;you&nbsp;broad&nbsp;orientation.<br>
+&nbsp;<br>
+It&nbsp;displays&nbsp;the&nbsp;current&nbsp;path&nbsp;among&nbsp;other&nbsp;things.</tt></p>
 <p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#ee77aa">
@@ -19,19 +20,6 @@ information.</tt></p>
     
 <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="builtins.html#list">builtins.list</a>(<a href="builtins.html#object">builtins.object</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.titlebar.html#BarSide">BarSide</a>
-</font></dt></dl>
-</dd>
-<dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="ranger.gui.widgets.titlebar.html#Bar">Bar</a>
-</font></dt><dt><font face="helvetica, arial"><a href="ranger.gui.widgets.titlebar.html#ColoredString">ColoredString</a>
-</font></dt></dl>
-</dd>
 <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>
@@ -43,181 +31,6 @@ information.</tt></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="Bar">class <strong>Bar</strong></a>(<a href="builtins.html#object">builtins.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="Bar-__init__"><strong>__init__</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Bar-add"><strong>add</strong></a>(self, *a, **kw)</dt></dl>
-
-<dl><dt><a name="Bar-addright"><strong>addright</strong></a>(self, *a, **kw)</dt></dl>
-
-<dl><dt><a name="Bar-combine"><strong>combine</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Bar-fill_gap"><strong>fill_gap</strong></a>(self, char, wid, gapwidth<font color="#909090">=False</font>)</dt></dl>
-
-<dl><dt><a name="Bar-fixedsize"><strong>fixedsize</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Bar-shrink_by_cutting"><strong>shrink_by_cutting</strong></a>(self, wid)</dt></dl>
-
-<dl><dt><a name="Bar-shrink_by_removing"><strong>shrink_by_removing</strong></a>(self, wid)</dt></dl>
-
-<dl><dt><a name="Bar-sumsize"><strong>sumsize</strong></a>(self)</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>
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>gap</strong> = None</dl>
-
-<dl><dt><strong>left</strong> = None</dl>
-
-<dl><dt><strong>right</strong> = None</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="BarSide">class <strong>BarSide</strong></a>(<a href="builtins.html#list">builtins.list</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.gui.widgets.titlebar.html#BarSide">BarSide</a></dd>
-<dd><a href="builtins.html#list">builtins.list</a></dd>
-<dd><a href="builtins.html#object">builtins.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="BarSide-add"><strong>add</strong></a>(self, string, *lst, **kw)</dt></dl>
-
-<dl><dt><a name="BarSide-fixedsize"><strong>fixedsize</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="BarSide-nonfixed_items"><strong>nonfixed_items</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="BarSide-sumsize"><strong>sumsize</strong></a>(self)</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>
-<hr>
-Methods inherited from <a href="builtins.html#list">builtins.list</a>:<br>
-<dl><dt><a name="BarSide-__add__"><strong>__add__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__add__">__add__</a>(y)&nbsp;&lt;==&gt;&nbsp;x+y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__contains__">__contains__</a>(y)&nbsp;&lt;==&gt;&nbsp;y&nbsp;in&nbsp;x</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__delitem__"><strong>__delitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__delitem__">__delitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;del&nbsp;x[y]</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__eq__">__eq__</a>(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__ge__">__ge__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__gt__">__gt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__iadd__"><strong>__iadd__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__iadd__">__iadd__</a>(y)&nbsp;&lt;==&gt;&nbsp;x+=y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__imul__"><strong>__imul__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__imul__">__imul__</a>(y)&nbsp;&lt;==&gt;&nbsp;x*=y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__iter__">__iter__</a>()&nbsp;&lt;==&gt;&nbsp;iter(x)</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__le__">__le__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__len__">__len__</a>()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__lt__">__lt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__mul__"><strong>__mul__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__mul__">__mul__</a>(n)&nbsp;&lt;==&gt;&nbsp;x*n</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__ne__">__ne__</a>(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__reversed__"><strong>__reversed__</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-__reversed__">__reversed__</a>()&nbsp;--&nbsp;return&nbsp;a&nbsp;reverse&nbsp;iterator&nbsp;over&nbsp;the&nbsp;<a href="builtins.html#list">list</a></tt></dd></dl>
-
-<dl><dt><a name="BarSide-__rmul__"><strong>__rmul__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__rmul__">__rmul__</a>(n)&nbsp;&lt;==&gt;&nbsp;n*x</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__setitem__"><strong>__setitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BarSide-__setitem__">__setitem__</a>(i,&nbsp;y)&nbsp;&lt;==&gt;&nbsp;x[i]=y</tt></dd></dl>
-
-<dl><dt><a name="BarSide-__sizeof__"><strong>__sizeof__</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-__sizeof__">__sizeof__</a>()&nbsp;--&nbsp;size&nbsp;of&nbsp;L&nbsp;in&nbsp;memory,&nbsp;in&nbsp;bytes</tt></dd></dl>
-
-<dl><dt><a name="BarSide-append"><strong>append</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-append">append</a>(<a href="builtins.html#object">object</a>)&nbsp;--&nbsp;append&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;end</tt></dd></dl>
-
-<dl><dt><a name="BarSide-count"><strong>count</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-count">count</a>(value)&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;number&nbsp;of&nbsp;occurrences&nbsp;of&nbsp;value</tt></dd></dl>
-
-<dl><dt><a name="BarSide-extend"><strong>extend</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-extend">extend</a>(iterable)&nbsp;--&nbsp;extend&nbsp;<a href="builtins.html#list">list</a>&nbsp;by&nbsp;appending&nbsp;elements&nbsp;from&nbsp;the&nbsp;iterable</tt></dd></dl>
-
-<dl><dt><a name="BarSide-index"><strong>index</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-index">index</a>(value,&nbsp;[start,&nbsp;[stop]])&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;first&nbsp;index&nbsp;of&nbsp;value.<br>
-Raises&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;not&nbsp;present.</tt></dd></dl>
-
-<dl><dt><a name="BarSide-insert"><strong>insert</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-insert">insert</a>(index,&nbsp;<a href="builtins.html#object">object</a>)&nbsp;--&nbsp;insert&nbsp;<a href="builtins.html#object">object</a>&nbsp;before&nbsp;index</tt></dd></dl>
-
-<dl><dt><a name="BarSide-pop"><strong>pop</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-pop">pop</a>([index])&nbsp;-&gt;&nbsp;item&nbsp;--&nbsp;remove&nbsp;and&nbsp;return&nbsp;item&nbsp;at&nbsp;index&nbsp;(default&nbsp;last).<br>
-Raises&nbsp;IndexError&nbsp;if&nbsp;<a href="builtins.html#list">list</a>&nbsp;is&nbsp;empty&nbsp;or&nbsp;index&nbsp;is&nbsp;out&nbsp;of&nbsp;range.</tt></dd></dl>
-
-<dl><dt><a name="BarSide-remove"><strong>remove</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-remove">remove</a>(value)&nbsp;--&nbsp;remove&nbsp;first&nbsp;occurrence&nbsp;of&nbsp;value.<br>
-Raises&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;not&nbsp;present.</tt></dd></dl>
-
-<dl><dt><a name="BarSide-reverse"><strong>reverse</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-reverse">reverse</a>()&nbsp;--&nbsp;reverse&nbsp;*IN&nbsp;PLACE*</tt></dd></dl>
-
-<dl><dt><a name="BarSide-sort"><strong>sort</strong></a>(...)</dt><dd><tt>L.<a href="#BarSide-sort">sort</a>(key=None,&nbsp;reverse=False)&nbsp;--&nbsp;stable&nbsp;sort&nbsp;*IN&nbsp;PLACE*</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="builtins.html#list">builtins.list</a>:<br>
-<dl><dt><strong>__hash__</strong> = None</dl>
-
-<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x7f327d9523a0&gt;<dd><tt>T.<a href="#BarSide-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="builtins.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">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="ColoredString">class <strong>ColoredString</strong></a>(<a href="builtins.html#object">builtins.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="ColoredString-__init__"><strong>__init__</strong></a>(self, string, *lst)</dt></dl>
-
-<dl><dt><a name="ColoredString-__len__"><strong>__len__</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="ColoredString-__str__"><strong>__str__</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="ColoredString-cut_off"><strong>cut_off</strong></a>(self, n)</dt></dl>
-
-<dl><dt><a name="ColoredString-cut_off_to"><strong>cut_off_to</strong></a>(self, n)</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>
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>fixed</strong> = False</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="TitleBar">class <strong>TitleBar</strong></a>(<a href="ranger.gui.widgets.html#Widget">ranger.gui.widgets.Widget</a>)</font></td></tr>
     
 <tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
@@ -228,6 +41,7 @@ Data and other attributes defined here:<br>
 <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd>
 <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd>
 <dd><a href="builtins.html#object">builtins.object</a></dd>
 </dl>
@@ -250,24 +64,21 @@ 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-__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="builtins.html#object">object</a>&nbsp;with&nbsp;x&nbsp;and&nbsp;y&nbsp;methods.</tt></dd></dl>
+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>
 
 <dl><dt><a name="TitleBar-__init__"><strong>__init__</strong></a>(self, win, env<font color="#909090">=None</font>, fm<font color="#909090">=None</font>, settings<font color="#909090">=None</font>)</dt></dl>
 
 <dl><dt><a name="TitleBar-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always&nbsp;True</tt></dd></dl>
 
+<dl><dt><a name="TitleBar-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
 <dl><dt><a name="TitleBar-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called&nbsp;when&nbsp;a&nbsp;mouse&nbsp;key&nbsp;is&nbsp;pressed&nbsp;and&nbsp;self.<strong>focused</strong>&nbsp;is&nbsp;True.<br>
 Override&nbsp;this!</tt></dd></dl>
 
-<dl><dt><a name="TitleBar-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
-
-<dl><dt><a name="TitleBar-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+<dl><dt><a name="TitleBar-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;whether&nbsp;the&nbsp;point&nbsp;(with&nbsp;absolute&nbsp;coordinates)&nbsp;lies<br>
+within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;object.</tt></dd></dl>
 
-<dl><dt><a name="TitleBar-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</tt></dd></dl>
-
-<dl><dt><a name="TitleBar-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test&nbsp;if&nbsp;the&nbsp;point&nbsp;lies&nbsp;within&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;this&nbsp;<a href="builtins.html#object">object</a></tt></dd></dl>
-
-<dl><dt><a name="TitleBar-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;<a href="builtins.html#object">object</a>&nbsp;is&nbsp;destroyed.<br>
+<dl><dt><a name="TitleBar-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;destroyed.<br>
 Override&nbsp;this!</tt></dd></dl>
 
 <dl><dt><a name="TitleBar-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called&nbsp;after&nbsp;every&nbsp;displayable&nbsp;is&nbsp;done&nbsp;drawing.<br>
@@ -281,16 +92,6 @@ Override&nbsp;this!</tt></dd></dl>
 <dl><dt><a name="TitleBar-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize&nbsp;the&nbsp;widget</tt></dd></dl>
 
 <hr>
-Data and other attributes inherited from <a href="ranger.gui.displayable.html#Displayable">ranger.gui.displayable.Displayable</a>:<br>
-<dl><dt><strong>colorscheme</strong> = None</dl>
-
-<dl><dt><strong>focused</strong> = False</dl>
-
-<dl><dt><strong>visible</strong> = True</dl>
-
-<dl><dt><strong>win</strong> = None</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>
 
@@ -307,8 +108,20 @@ Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.sh
 <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="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br>
+<dl><dt><a name="TitleBar-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="TitleBar-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="TitleBar-color"><strong>color</strong></a>(self, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;from&nbsp;now&nbsp;on.</tt></dd></dl>
+
+<dl><dt><a name="TitleBar-color_at"><strong>color_at</strong></a>(self, y, x, wid, keylist<font color="#909090">=None</font>, *keys)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;at&nbsp;the&nbsp;specified&nbsp;position</tt></dd></dl>
+
+<dl><dt><a name="TitleBar-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change&nbsp;the&nbsp;colors&nbsp;to&nbsp;the&nbsp;default&nbsp;colors</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 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&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.html b/doc/pydoc/ranger.html
index 0fd5ba08..b55b09f6 100644
--- a/doc/pydoc/ranger.html
+++ b/doc/pydoc/ranger.html
@@ -17,27 +17,21 @@
 <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="ranger.actions.html">actions</a><br>
+<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.applications.html">applications</a><br>
 <a href="ranger.colorschemes.html"><strong>colorschemes</strong>&nbsp;(package)</a><br>
 </td><td width="25%" valign=top><a href="ranger.commands.html">commands</a><br>
 <a href="ranger.container.html"><strong>container</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.ext.html"><strong>ext</strong>&nbsp;(package)</a><br>
+</td><td width="25%" valign=top><a href="ranger.fm.html">fm</a><br>
 <a href="ranger.fsobject.html"><strong>fsobject</strong>&nbsp;(package)</a><br>
-</td><td width="25%" valign=top><a href="ranger.gui.html"><strong>gui</strong>&nbsp;(package)</a><br>
-<a href="ranger.shared.html"><strong>shared</strong>&nbsp;(package)</a><br>
+<a href="ranger.gui.html"><strong>gui</strong>&nbsp;(package)</a><br>
+<a href="ranger.keyapi.html">keyapi</a><br>
+</td><td width="25%" valign=top><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="-main"><strong>main</strong></a>()</dt><dd><tt>initialize&nbsp;objects&nbsp;and&nbsp;run&nbsp;the&nbsp;filemanager</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>
diff --git a/doc/pydoc/ranger.keyapi.html b/doc/pydoc/ranger.keyapi.html
new file mode 100644
index 00000000..dfb97892
--- /dev/null
+++ b/doc/pydoc/ranger.keyapi.html
@@ -0,0 +1,413 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module ranger.keyapi</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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/work/ranger/ranger/keyapi.py">/home/hut/work/ranger/ranger/keyapi.py</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></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="builtins.html#object">builtins.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="ranger.keyapi.html#Wrapper">Wrapper</a>
+</font></dt><dt><font face="helvetica, arial"><a href="ranger.keyapi.html#nwrap">nwrap</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="builtins.html#object">builtins.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> <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="nwrap">class <strong>nwrap</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
+    
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
+<td colspan=2><tt>#&nbsp;Another&nbsp;wrapper&nbsp;for&nbsp;common&nbsp;actions&nbsp;which&nbsp;use&nbsp;a&nbsp;numerical&nbsp;argument:<br>&nbsp;</tt></td></tr>
+<tr><td>&nbsp;</td>
+<td width="100%">Static methods defined here:<br>
+<dl><dt><a name="nwrap-move"><strong>move</strong></a>(relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=False</font>)</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="-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="-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>NL</strong> = 10<br>
+<strong>NUL</strong> = 0<br>
+<strong>OK</strong> = 0<br>
+<strong>RANGERDIR</strong> = '/home/hut/work/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 0x7f20a5b429d0&gt;<br>
+<strong>version</strong> = b'2.2'<br>
+<strong>wdg</strong> = &lt;ranger.keyapi.Wrapper object at 0x7f20a5b42a10&gt;</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/ranger.shared.settings.html b/doc/pydoc/ranger.shared.settings.html
index ec661e76..46f01956 100644
--- a/doc/pydoc/ranger.shared.settings.html
+++ b/doc/pydoc/ranger.shared.settings.html
@@ -41,7 +41,7 @@
 </dl>
 <hr>
 Data and other attributes defined here:<br>
-<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x154e450&gt;</dl>
+<dl><dt><strong>settings</strong> = &lt;ranger.ext.openstruct.OpenStruct object at 0x7f20a718ad90&gt;</dl>
 
 </td></tr></table></td></tr></table><p>
 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -50,5 +50,5 @@ Data and other attributes defined here:<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', 'directories_first', 'sort', 'reverse', 'preview_files', 'max_history_size', 'colorscheme', 'collapse_preview', 'auto_load_preview', 'max_dirsize_for_autopreview', 'apps', 'keys']</td></tr></table>
+<td width="100%"><strong>ALLOWED_SETTINGS</strong> = ['show_hidden', 'scroll_offset', 'directories_first', 'sort', 'reverse', 'preview_files', 'max_history_size', 'colorscheme', 'collapse_preview', 'auto_load_preview', 'max_dirsize_for_autopreview', 'autosave_bookmarks', 'apps', 'keys']</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/sys.html b/doc/pydoc/sys.html
index b3de7023..93aed3b6 100644
--- a/doc/pydoc/sys.html
+++ b/doc/pydoc/sys.html
@@ -228,10 +228,10 @@ function&nbsp;call.&nbsp;&nbsp;See&nbsp;the&nbsp;debugger&nbsp;chapter&nbsp;in&n
 <strong>maxsize</strong> = 9223372036854775807<br>
 <strong>maxunicode</strong> = 1114111<br>
 <strong>meta_path</strong> = []<br>
-<strong>modules</strong> = {'__future__': &lt;module '__future__' from '/usr/lib/python3.1/__future__.py'&gt;, '__init__': &lt;module '__init__' from '/home/hut/.ranger/__init__.py'&gt;, '__main__': &lt;module '__main__' from './make_doc.py'&gt;, '_abcoll': &lt;module '_abcoll' from '/usr/lib/python3.1/_abcoll.py'&gt;, '_bisect': &lt;module '_bisect' from '/usr/lib/python3.1/lib-dynload/_bisect.so'&gt;, '_codecs': &lt;module '_codecs' (built-in)&gt;, '_collections': &lt;module '_collections' from '/usr/lib/python3.1/lib-dynload/_collections.so'&gt;, '_curses': &lt;module '_curses' from '/usr/lib/python3.1/lib-dynload/_curses.so'&gt;, '_functools': &lt;module '_functools' (built-in)&gt;, '_heapq': &lt;module '_heapq' from '/usr/lib/python3.1/lib-dynload/_heapq.so'&gt;, ...}<br>
-<strong>path</strong> = ['/home/hut/.ranger', '/home/hut/work/ranger', '/usr/lib/python31.zip', '/usr/lib/python3.1', '/usr/lib/python3.1/plat-linux2', '/usr/lib/python3.1/lib-dynload', '/usr/lib/python3.1/site-packages', '/home/hut/.ranger']<br>
+<strong>modules</strong> = {'__future__': &lt;module '__future__' from '/usr/lib/python3.1/__future__.py'&gt;, '__main__': &lt;module '__main__' from './make_doc.py'&gt;, '_abcoll': &lt;module '_abcoll' from '/usr/lib/python3.1/_abcoll.py'&gt;, '_bisect': &lt;module '_bisect' from '/usr/lib/python3.1/lib-dynload/_bisect.so'&gt;, '_codecs': &lt;module '_codecs' (built-in)&gt;, '_collections': &lt;module '_collections' from '/usr/lib/python3.1/lib-dynload/_collections.so'&gt;, '_compat_pickle': &lt;module '_compat_pickle' from '/usr/lib/python3.1/_compat_pickle.py'&gt;, '_curses': &lt;module '_curses' from '/usr/lib/python3.1/lib-dynload/_curses.so'&gt;, '_functools': &lt;module '_functools' (built-in)&gt;, '_heapq': &lt;module '_heapq' from '/usr/lib/python3.1/lib-dynload/_heapq.so'&gt;, ...}<br>
+<strong>path</strong> = ['/home/hut/work/ranger', '/usr/lib/python31.zip', '/usr/lib/python3.1', '/usr/lib/python3.1/plat-linux2', '/usr/lib/python3.1/lib-dynload', '/usr/lib/python3.1/site-packages', '/home/hut/.ranger']<br>
 <strong>path_hooks</strong> = [&lt;class 'zipimport.zipimporter'&gt;]<br>
-<strong>path_importer_cache</strong> = {'.': None, './make_doc.py': &lt;imp.NullImporter object at 0x7f327d9e39f0&gt;, '/home/hut/.ranger': None, '/home/hut/.ranger/colorschemes': None, '/home/hut/work/ranger': None, '/home/hut/work/ranger/ranger': None, '/home/hut/work/ranger/ranger/colorschemes': None, '/home/hut/work/ranger/ranger/container': None, '/home/hut/work/ranger/ranger/defaults': None, '/home/hut/work/ranger/ranger/ext': None, ...}<br>
+<strong>path_importer_cache</strong> = {'.': None, './make_doc.py': &lt;imp.NullImporter object at 0x7f20a8ddf9f0&gt;, '/home/hut/.ranger': None, '/home/hut/work/ranger': None, '/home/hut/work/ranger/ranger': None, '/home/hut/work/ranger/ranger/colorschemes': None, '/home/hut/work/ranger/ranger/container': None, '/home/hut/work/ranger/ranger/defaults': None, '/home/hut/work/ranger/ranger/ext': None, '/home/hut/work/ranger/ranger/fsobject': None, ...}<br>
 <strong>platform</strong> = 'linux2'<br>
 <strong>prefix</strong> = '/usr'<br>
 <strong>stderr</strong> = &lt;_io.TextIOWrapper name='&lt;stderr&gt;' encoding='UTF-8'&gt;<br>
diff --git a/doc/pydoc/test.html b/doc/pydoc/test.html
index 5d239e76..a75011da 100644
--- a/doc/pydoc/test.html
+++ b/doc/pydoc/test.html
@@ -17,18 +17,20 @@
 <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="test.tc_colorscheme.html">tc_colorscheme</a><br>
-<a href="test.tc_directory.html">tc_directory</a><br>
-</td><td width="25%" valign=top><a href="test.tc_displayable.html">tc_displayable</a><br>
-<a href="test.tc_history.html">tc_history</a><br>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="test.tc_bookmarks.html">tc_bookmarks</a><br>
+<a href="test.tc_colorscheme.html">tc_colorscheme</a><br>
+</td><td width="25%" valign=top><a href="test.tc_directory.html">tc_directory</a><br>
+<a href="test.tc_displayable.html">tc_displayable</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>
 </td><td width="25%" valign=top><a href="test.tc_ui.html">tc_ui</a><br>
 <a href="test.test.html">test</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+</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> = ['tc_history', 'tc_directory', 'tc_ui', 'tc_history', 'tc_ui', 'tc_displayable', 'tc_colorscheme', 'tc_directory', 'tc_colorscheme', 'tc_displayable']</td></tr></table>
+<td width="100%"><strong>__all__</strong> = ['tc_history', 'tc_directory', 'tc_ui', 'tc_bookmarks', 'tc_history', 'tc_keyapi', 'tc_ui', 'tc_displayable', 'tc_keyapi', 'tc_colorscheme', 'tc_bookmarks', 'tc_directory', 'tc_colorscheme', 'tc_displayable']</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
new file mode 100644
index 00000000..75cc9954
--- /dev/null
+++ b/doc/pydoc/test.tc_bookmarks.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module test.tc_bookmarks</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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="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/work/ranger/test/tc_bookmarks.py">/home/hut/work/ranger/test/tc_bookmarks.py</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="os.html">os</a><br>
+</td><td width="25%" valign=top><a href="time.html">time</a><br>
+</td><td width="25%" valign=top><a href="unittest.html">unittest</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="unittest.html#TestCase">unittest.TestCase</a>(<a href="builtins.html#object">builtins.object</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="test.tc_bookmarks.html#TestDisplayable">TestDisplayable</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="TestDisplayable">class <strong>TestDisplayable</strong></a>(<a href="unittest.html#TestCase">unittest.TestCase</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="test.tc_bookmarks.html#TestDisplayable">TestDisplayable</a></dd>
+<dd><a href="unittest.html#TestCase">unittest.TestCase</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="TestDisplayable-setUp"><strong>setUp</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-tearDown"><strong>tearDown</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-test_adding_bookmarks"><strong>test_adding_bookmarks</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-test_messing_around"><strong>test_messing_around</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-test_sharing_bookmarks_between_instances"><strong>test_sharing_bookmarks_between_instances</strong></a>(self)</dt></dl>
+
+<hr>
+Methods inherited from <a href="unittest.html#TestCase">unittest.TestCase</a>:<br>
+<dl><dt><a name="TestDisplayable-__call__"><strong>__call__</strong></a>(self, *args, **kwds)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-__eq__"><strong>__eq__</strong></a>(self, other)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-__hash__"><strong>__hash__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-__init__"><strong>__init__</strong></a>(self, methodName<font color="#909090">='runTest'</font>)</dt><dd><tt>Create&nbsp;an&nbsp;instance&nbsp;of&nbsp;the&nbsp;class&nbsp;that&nbsp;will&nbsp;use&nbsp;the&nbsp;named&nbsp;test<br>
+method&nbsp;when&nbsp;executed.&nbsp;Raises&nbsp;a&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;instance&nbsp;does<br>
+not&nbsp;have&nbsp;a&nbsp;method&nbsp;with&nbsp;the&nbsp;specified&nbsp;name.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-__ne__"><strong>__ne__</strong></a>(self, other)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-addCleanup"><strong>addCleanup</strong></a>(self, function, *args, **kwargs)</dt><dd><tt>Add&nbsp;a&nbsp;function,&nbsp;with&nbsp;arguments,&nbsp;to&nbsp;be&nbsp;called&nbsp;when&nbsp;the&nbsp;test&nbsp;is<br>
+completed.&nbsp;Functions&nbsp;added&nbsp;are&nbsp;called&nbsp;on&nbsp;a&nbsp;LIFO&nbsp;basis&nbsp;and&nbsp;are<br>
+called&nbsp;after&nbsp;tearDown&nbsp;on&nbsp;test&nbsp;failure&nbsp;or&nbsp;success.<br>
+&nbsp;<br>
+Cleanup&nbsp;items&nbsp;are&nbsp;called&nbsp;even&nbsp;if&nbsp;setUp&nbsp;fails&nbsp;(unlike&nbsp;tearDown).</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-addTypeEqualityFunc"><strong>addTypeEqualityFunc</strong></a>(self, typeobj, function)</dt><dd><tt>Add&nbsp;a&nbsp;type&nbsp;specific&nbsp;assertEqual&nbsp;style&nbsp;function&nbsp;to&nbsp;compare&nbsp;a&nbsp;type.<br>
+&nbsp;<br>
+This&nbsp;method&nbsp;is&nbsp;for&nbsp;use&nbsp;by&nbsp;<a href="unittest.html#TestCase">TestCase</a>&nbsp;subclasses&nbsp;that&nbsp;need&nbsp;to&nbsp;register<br>
+their&nbsp;own&nbsp;type&nbsp;equality&nbsp;functions&nbsp;to&nbsp;provide&nbsp;nicer&nbsp;error&nbsp;messages.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;typeobj:&nbsp;The&nbsp;data&nbsp;type&nbsp;to&nbsp;call&nbsp;this&nbsp;function&nbsp;on&nbsp;when&nbsp;both&nbsp;values<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;of&nbsp;the&nbsp;same&nbsp;type&nbsp;in&nbsp;<a href="#TestDisplayable-assertEqual">assertEqual</a>().<br>
+&nbsp;&nbsp;&nbsp;&nbsp;function:&nbsp;The&nbsp;callable&nbsp;taking&nbsp;two&nbsp;arguments&nbsp;and&nbsp;an&nbsp;optional<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg=&nbsp;argument&nbsp;that&nbsp;raises&nbsp;self.<strong>failureException</strong>&nbsp;with&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;useful&nbsp;error&nbsp;message&nbsp;when&nbsp;the&nbsp;two&nbsp;arguments&nbsp;are&nbsp;not&nbsp;equal.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertAlmostEqual"><strong>assertAlmostEqual</strong></a>(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertAlmostEquals"><strong>assertAlmostEquals</strong></a> = assertAlmostEqual(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertDictContainsSubset"><strong>assertDictContainsSubset</strong></a>(self, expected, actual, msg<font color="#909090">=None</font>)</dt><dd><tt>Checks&nbsp;whether&nbsp;actual&nbsp;is&nbsp;a&nbsp;superset&nbsp;of&nbsp;expected.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertDictEqual"><strong>assertDictEqual</strong></a>(self, d1, d2, msg<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-assertEqual"><strong>assertEqual</strong></a>(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertEquals"><strong>assertEquals</strong></a> = assertEqual(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertFalse"><strong>assertFalse</strong></a>(self, expr, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;the&nbsp;test&nbsp;if&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertGreater"><strong>assertGreater</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;&gt;&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertGreaterEqual"><strong>assertGreaterEqual</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;&gt;=&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertIn"><strong>assertIn</strong></a>(self, member, container, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;in&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertIs"><strong>assertIs</strong></a>(self, expr1, expr2, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;is&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertIsNone"><strong>assertIsNone</strong></a>(self, obj, msg<font color="#909090">=None</font>)</dt><dd><tt>Same&nbsp;as&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(obj&nbsp;is&nbsp;None),&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertIsNot"><strong>assertIsNot</strong></a>(self, expr1, expr2, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;is&nbsp;not&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertIsNotNone"><strong>assertIsNotNone</strong></a>(self, obj, msg<font color="#909090">=None</font>)</dt><dd><tt>Included&nbsp;for&nbsp;symmetry&nbsp;with&nbsp;assertIsNone.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertLess"><strong>assertLess</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;&lt;&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertLessEqual"><strong>assertLessEqual</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;&lt;=&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertListEqual"><strong>assertListEqual</strong></a>(self, list1, list2, msg<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;list-specific&nbsp;equality&nbsp;assertion.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;list1:&nbsp;The&nbsp;first&nbsp;list&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;list2:&nbsp;The&nbsp;second&nbsp;list&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertMultiLineEqual"><strong>assertMultiLineEqual</strong></a>(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Assert&nbsp;that&nbsp;two&nbsp;multi-line&nbsp;strings&nbsp;are&nbsp;equal.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertNotAlmostEqual"><strong>assertNotAlmostEqual</strong></a>(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertNotAlmostEquals"><strong>assertNotAlmostEquals</strong></a> = assertNotAlmostEqual(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertNotEqual"><strong>assertNotEqual</strong></a>(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertNotEquals"><strong>assertNotEquals</strong></a> = assertNotEqual(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertNotIn"><strong>assertNotIn</strong></a>(self, member, container, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#TestDisplayable-assertTrue">assertTrue</a>(a&nbsp;not&nbsp;in&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertRaises"><strong>assertRaises</strong></a>(self, excClass, callableObj<font color="#909090">=None</font>, *args, **kwargs)</dt><dd><tt>Fail&nbsp;unless&nbsp;an&nbsp;exception&nbsp;of&nbsp;class&nbsp;excClass&nbsp;is&nbsp;thrown<br>
+by&nbsp;callableObj&nbsp;when&nbsp;invoked&nbsp;with&nbsp;arguments&nbsp;args&nbsp;and&nbsp;keyword<br>
+arguments&nbsp;kwargs.&nbsp;If&nbsp;a&nbsp;different&nbsp;type&nbsp;of&nbsp;exception&nbsp;is<br>
+thrown,&nbsp;it&nbsp;will&nbsp;not&nbsp;be&nbsp;caught,&nbsp;and&nbsp;the&nbsp;test&nbsp;case&nbsp;will&nbsp;be<br>
+deemed&nbsp;to&nbsp;have&nbsp;suffered&nbsp;an&nbsp;error,&nbsp;exactly&nbsp;as&nbsp;for&nbsp;an<br>
+unexpected&nbsp;exception.<br>
+&nbsp;<br>
+If&nbsp;called&nbsp;with&nbsp;callableObj&nbsp;omitted&nbsp;or&nbsp;None,&nbsp;will&nbsp;return&nbsp;a<br>
+context&nbsp;object&nbsp;used&nbsp;like&nbsp;this::<br>
+&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;<a href="#TestDisplayable-assertRaises">assertRaises</a>(some_error_class):<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do_something()</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertRaisesRegexp"><strong>assertRaisesRegexp</strong></a>(self, expected_exception, expected_regexp, callable_obj<font color="#909090">=None</font>, *args, **kwargs)</dt><dd><tt>Asserts&nbsp;that&nbsp;the&nbsp;message&nbsp;in&nbsp;a&nbsp;raised&nbsp;exception&nbsp;matches&nbsp;a&nbsp;regexp.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;expected_exception:&nbsp;Exception&nbsp;class&nbsp;expected&nbsp;to&nbsp;be&nbsp;raised.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;expected_regexp:&nbsp;Regexp&nbsp;(re&nbsp;pattern&nbsp;object&nbsp;or&nbsp;string)&nbsp;expected<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;be&nbsp;found&nbsp;in&nbsp;error&nbsp;message.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;callable_obj:&nbsp;Function&nbsp;to&nbsp;be&nbsp;called.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;args:&nbsp;Extra&nbsp;args.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;kwargs:&nbsp;Extra&nbsp;kwargs.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertRegexpMatches"><strong>assertRegexpMatches</strong></a>(self, text, expected_regex, msg<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-assertSameElements"><strong>assertSameElements</strong></a>(self, expected_seq, actual_seq, msg<font color="#909090">=None</font>)</dt><dd><tt>An&nbsp;unordered&nbsp;sequence&nbsp;specific&nbsp;comparison.<br>
+&nbsp;<br>
+Raises&nbsp;with&nbsp;an&nbsp;error&nbsp;message&nbsp;listing&nbsp;which&nbsp;elements&nbsp;of&nbsp;expected_seq<br>
+are&nbsp;missing&nbsp;from&nbsp;actual_seq&nbsp;and&nbsp;vice&nbsp;versa&nbsp;if&nbsp;any.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertSequenceEqual"><strong>assertSequenceEqual</strong></a>(self, seq1, seq2, msg<font color="#909090">=None</font>, seq_type<font color="#909090">=None</font>)</dt><dd><tt>An&nbsp;equality&nbsp;assertion&nbsp;for&nbsp;ordered&nbsp;sequences&nbsp;(like&nbsp;lists&nbsp;and&nbsp;tuples).<br>
+&nbsp;<br>
+For&nbsp;the&nbsp;purposes&nbsp;of&nbsp;this&nbsp;function,&nbsp;a&nbsp;valid&nbsp;orderd&nbsp;sequence&nbsp;type&nbsp;is&nbsp;one<br>
+which&nbsp;can&nbsp;be&nbsp;indexed,&nbsp;has&nbsp;a&nbsp;length,&nbsp;and&nbsp;has&nbsp;an&nbsp;equality&nbsp;operator.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;seq1:&nbsp;The&nbsp;first&nbsp;sequence&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;seq2:&nbsp;The&nbsp;second&nbsp;sequence&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;seq_type:&nbsp;The&nbsp;expected&nbsp;datatype&nbsp;of&nbsp;the&nbsp;sequences,&nbsp;or&nbsp;None&nbsp;if&nbsp;no<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datatype&nbsp;should&nbsp;be&nbsp;enforced.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertSetEqual"><strong>assertSetEqual</strong></a>(self, set1, set2, msg<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;set-specific&nbsp;equality&nbsp;assertion.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;set1:&nbsp;The&nbsp;first&nbsp;set&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;set2:&nbsp;The&nbsp;second&nbsp;set&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.<br>
+&nbsp;<br>
+For&nbsp;more&nbsp;general&nbsp;containership&nbsp;equality,&nbsp;assertSameElements&nbsp;will&nbsp;work<br>
+with&nbsp;things&nbsp;other&nbsp;than&nbsp;sets.&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;uses&nbsp;ducktyping&nbsp;to&nbsp;support<br>
+different&nbsp;types&nbsp;of&nbsp;sets,&nbsp;and&nbsp;is&nbsp;optimized&nbsp;for&nbsp;sets&nbsp;specifically<br>
+(parameters&nbsp;must&nbsp;support&nbsp;a&nbsp;difference&nbsp;method).</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertTrue"><strong>assertTrue</strong></a>(self, expr, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;the&nbsp;test&nbsp;unless&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assertTupleEqual"><strong>assertTupleEqual</strong></a>(self, tuple1, tuple2, msg<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;tuple-specific&nbsp;equality&nbsp;assertion.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;tuple1:&nbsp;The&nbsp;first&nbsp;tuple&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;tuple2:&nbsp;The&nbsp;second&nbsp;tuple&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-assert_"><strong>assert_</strong></a> = assertTrue(self, expr, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;the&nbsp;test&nbsp;unless&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-countTestCases"><strong>countTestCases</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-debug"><strong>debug</strong></a>(self)</dt><dd><tt>Run&nbsp;the&nbsp;test&nbsp;without&nbsp;collecting&nbsp;errors&nbsp;in&nbsp;a&nbsp;TestResult</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-defaultTestResult"><strong>defaultTestResult</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-doCleanups"><strong>doCleanups</strong></a>(self)</dt><dd><tt>Execute&nbsp;all&nbsp;cleanup&nbsp;functions.&nbsp;Normally&nbsp;called&nbsp;for&nbsp;you&nbsp;after<br>
+tearDown.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-fail"><strong>fail</strong></a>(self, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;immediately,&nbsp;with&nbsp;the&nbsp;given&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-failIf"><strong>failIf</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-failIfAlmostEqual"><strong>failIfAlmostEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-failIfEqual"><strong>failIfEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-failUnless"><strong>failUnless</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-failUnlessAlmostEqual"><strong>failUnlessAlmostEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-failUnlessEqual"><strong>failUnlessEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-failUnlessRaises"><strong>failUnlessRaises</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-id"><strong>id</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-run"><strong>run</strong></a>(self, result<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="TestDisplayable-shortDescription"><strong>shortDescription</strong></a>(self)</dt><dd><tt>Returns&nbsp;both&nbsp;the&nbsp;test&nbsp;method&nbsp;name&nbsp;and&nbsp;first&nbsp;line&nbsp;of&nbsp;its&nbsp;docstring.<br>
+&nbsp;<br>
+If&nbsp;no&nbsp;docstring&nbsp;is&nbsp;given,&nbsp;only&nbsp;returns&nbsp;the&nbsp;method&nbsp;name.<br>
+&nbsp;<br>
+This&nbsp;method&nbsp;overrides&nbsp;unittest.<a href="unittest.html#TestCase">TestCase</a>.<a href="#TestDisplayable-shortDescription">shortDescription</a>(),&nbsp;which<br>
+only&nbsp;returns&nbsp;the&nbsp;first&nbsp;line&nbsp;of&nbsp;the&nbsp;docstring,&nbsp;obscuring&nbsp;the&nbsp;name<br>
+of&nbsp;the&nbsp;test&nbsp;upon&nbsp;failure.</tt></dd></dl>
+
+<dl><dt><a name="TestDisplayable-skipTest"><strong>skipTest</strong></a>(self, reason)</dt><dd><tt>Skip&nbsp;this&nbsp;test.</tt></dd></dl>
+
+<hr>
+Data descriptors inherited from <a href="unittest.html#TestCase">unittest.TestCase</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="unittest.html#TestCase">unittest.TestCase</a>:<br>
+<dl><dt><strong>failureException</strong> = &lt;class 'AssertionError'&gt;<dd><tt>Assertion&nbsp;failed.</tt></dl>
+
+<dl><dt><strong>longMessage</strong> = False</dl>
+
+</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>BMFILE</strong> = '/home/hut/work/ranger/test/testdir/bookmarks'<br>
+<strong>TESTDIR</strong> = '/home/hut/work/ranger/test/testdir'</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/test.tc_colorscheme.html b/doc/pydoc/test.tc_colorscheme.html
index fbd73399..c191ee32 100644
--- a/doc/pydoc/test.tc_colorscheme.html
+++ b/doc/pydoc/test.tc_colorscheme.html
@@ -294,5 +294,5 @@ Data and other attributes inherited from <a href="unittest.html#TestCase">unitte
 <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>CONTEXT_KEYS</strong> = ['reset', 'error', 'in_display', 'in_statusbar', 'in_titlebar', 'in_console', 'in_notify', 'in_pman', 'directory', 'file', 'hostname', 'executable', 'media', 'link', 'video', 'audio', 'image', 'media', 'document', 'container', ...]</td></tr></table>
+<td width="100%"><strong>CONTEXT_KEYS</strong> = ['reset', 'error', 'in_browser', 'in_statusbar', 'in_titlebar', 'in_console', 'in_notify', 'in_taskview', 'directory', 'file', 'hostname', 'executable', 'media', 'link', 'video', 'audio', 'image', 'media', 'document', 'container', ...]</td></tr></table>
 </body></html>
\ No newline at end of file
diff --git a/doc/pydoc/test.tc_keyapi.html b/doc/pydoc/test.tc_keyapi.html
new file mode 100644
index 00000000..bd802343
--- /dev/null
+++ b/doc/pydoc/test.tc_keyapi.html
@@ -0,0 +1,282 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module test.tc_keyapi</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</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="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/work/ranger/test/tc_keyapi.py">/home/hut/work/ranger/test/tc_keyapi.py</a></font></td></tr></table>
+    <p></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="unittest.html#TestCase">unittest.TestCase</a>(<a href="builtins.html#object">builtins.object</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="test.tc_keyapi.html#Test">Test</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="Test">class <strong>Test</strong></a>(<a href="unittest.html#TestCase">unittest.TestCase</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="test.tc_keyapi.html#Test">Test</a></dd>
+<dd><a href="unittest.html#TestCase">unittest.TestCase</a></dd>
+<dd><a href="builtins.html#object">builtins.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Test-test_wrapper"><strong>test_wrapper</strong></a>(self)</dt></dl>
+
+<hr>
+Methods inherited from <a href="unittest.html#TestCase">unittest.TestCase</a>:<br>
+<dl><dt><a name="Test-__call__"><strong>__call__</strong></a>(self, *args, **kwds)</dt></dl>
+
+<dl><dt><a name="Test-__eq__"><strong>__eq__</strong></a>(self, other)</dt></dl>
+
+<dl><dt><a name="Test-__hash__"><strong>__hash__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Test-__init__"><strong>__init__</strong></a>(self, methodName<font color="#909090">='runTest'</font>)</dt><dd><tt>Create&nbsp;an&nbsp;instance&nbsp;of&nbsp;the&nbsp;class&nbsp;that&nbsp;will&nbsp;use&nbsp;the&nbsp;named&nbsp;test<br>
+method&nbsp;when&nbsp;executed.&nbsp;Raises&nbsp;a&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;instance&nbsp;does<br>
+not&nbsp;have&nbsp;a&nbsp;method&nbsp;with&nbsp;the&nbsp;specified&nbsp;name.</tt></dd></dl>
+
+<dl><dt><a name="Test-__ne__"><strong>__ne__</strong></a>(self, other)</dt></dl>
+
+<dl><dt><a name="Test-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Test-__str__"><strong>__str__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Test-addCleanup"><strong>addCleanup</strong></a>(self, function, *args, **kwargs)</dt><dd><tt>Add&nbsp;a&nbsp;function,&nbsp;with&nbsp;arguments,&nbsp;to&nbsp;be&nbsp;called&nbsp;when&nbsp;the&nbsp;test&nbsp;is<br>
+completed.&nbsp;Functions&nbsp;added&nbsp;are&nbsp;called&nbsp;on&nbsp;a&nbsp;LIFO&nbsp;basis&nbsp;and&nbsp;are<br>
+called&nbsp;after&nbsp;tearDown&nbsp;on&nbsp;test&nbsp;failure&nbsp;or&nbsp;success.<br>
+&nbsp;<br>
+Cleanup&nbsp;items&nbsp;are&nbsp;called&nbsp;even&nbsp;if&nbsp;setUp&nbsp;fails&nbsp;(unlike&nbsp;tearDown).</tt></dd></dl>
+
+<dl><dt><a name="Test-addTypeEqualityFunc"><strong>addTypeEqualityFunc</strong></a>(self, typeobj, function)</dt><dd><tt>Add&nbsp;a&nbsp;type&nbsp;specific&nbsp;assertEqual&nbsp;style&nbsp;function&nbsp;to&nbsp;compare&nbsp;a&nbsp;type.<br>
+&nbsp;<br>
+This&nbsp;method&nbsp;is&nbsp;for&nbsp;use&nbsp;by&nbsp;<a href="unittest.html#TestCase">TestCase</a>&nbsp;subclasses&nbsp;that&nbsp;need&nbsp;to&nbsp;register<br>
+their&nbsp;own&nbsp;type&nbsp;equality&nbsp;functions&nbsp;to&nbsp;provide&nbsp;nicer&nbsp;error&nbsp;messages.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;typeobj:&nbsp;The&nbsp;data&nbsp;type&nbsp;to&nbsp;call&nbsp;this&nbsp;function&nbsp;on&nbsp;when&nbsp;both&nbsp;values<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;of&nbsp;the&nbsp;same&nbsp;type&nbsp;in&nbsp;<a href="#Test-assertEqual">assertEqual</a>().<br>
+&nbsp;&nbsp;&nbsp;&nbsp;function:&nbsp;The&nbsp;callable&nbsp;taking&nbsp;two&nbsp;arguments&nbsp;and&nbsp;an&nbsp;optional<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg=&nbsp;argument&nbsp;that&nbsp;raises&nbsp;self.<strong>failureException</strong>&nbsp;with&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;useful&nbsp;error&nbsp;message&nbsp;when&nbsp;the&nbsp;two&nbsp;arguments&nbsp;are&nbsp;not&nbsp;equal.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertAlmostEqual"><strong>assertAlmostEqual</strong></a>(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="Test-assertAlmostEquals"><strong>assertAlmostEquals</strong></a> = assertAlmostEqual(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="Test-assertDictContainsSubset"><strong>assertDictContainsSubset</strong></a>(self, expected, actual, msg<font color="#909090">=None</font>)</dt><dd><tt>Checks&nbsp;whether&nbsp;actual&nbsp;is&nbsp;a&nbsp;superset&nbsp;of&nbsp;expected.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertDictEqual"><strong>assertDictEqual</strong></a>(self, d1, d2, msg<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="Test-assertEqual"><strong>assertEqual</strong></a>(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertEquals"><strong>assertEquals</strong></a> = assertEqual(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;unequal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertFalse"><strong>assertFalse</strong></a>(self, expr, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;the&nbsp;test&nbsp;if&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertGreater"><strong>assertGreater</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;&gt;&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertGreaterEqual"><strong>assertGreaterEqual</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;&gt;=&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertIn"><strong>assertIn</strong></a>(self, member, container, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;in&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertIs"><strong>assertIs</strong></a>(self, expr1, expr2, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;is&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertIsNone"><strong>assertIsNone</strong></a>(self, obj, msg<font color="#909090">=None</font>)</dt><dd><tt>Same&nbsp;as&nbsp;<a href="#Test-assertTrue">assertTrue</a>(obj&nbsp;is&nbsp;None),&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertIsNot"><strong>assertIsNot</strong></a>(self, expr1, expr2, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;is&nbsp;not&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertIsNotNone"><strong>assertIsNotNone</strong></a>(self, obj, msg<font color="#909090">=None</font>)</dt><dd><tt>Included&nbsp;for&nbsp;symmetry&nbsp;with&nbsp;assertIsNone.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertLess"><strong>assertLess</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;&lt;&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertLessEqual"><strong>assertLessEqual</strong></a>(self, a, b, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;&lt;=&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertListEqual"><strong>assertListEqual</strong></a>(self, list1, list2, msg<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;list-specific&nbsp;equality&nbsp;assertion.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;list1:&nbsp;The&nbsp;first&nbsp;list&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;list2:&nbsp;The&nbsp;second&nbsp;list&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertMultiLineEqual"><strong>assertMultiLineEqual</strong></a>(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Assert&nbsp;that&nbsp;two&nbsp;multi-line&nbsp;strings&nbsp;are&nbsp;equal.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertNotAlmostEqual"><strong>assertNotAlmostEqual</strong></a>(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="Test-assertNotAlmostEquals"><strong>assertNotAlmostEquals</strong></a> = assertNotAlmostEqual(self, first, second, *, places<font color="#909090">=7</font>, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;their<br>
+difference&nbsp;rounded&nbsp;to&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places<br>
+(default&nbsp;7)&nbsp;and&nbsp;comparing&nbsp;to&nbsp;zero.<br>
+&nbsp;<br>
+Note&nbsp;that&nbsp;decimal&nbsp;places&nbsp;(from&nbsp;zero)&nbsp;are&nbsp;usually&nbsp;not&nbsp;the&nbsp;same<br>
+as&nbsp;significant&nbsp;digits&nbsp;(measured&nbsp;from&nbsp;the&nbsp;most&nbsp;signficant&nbsp;digit).</tt></dd></dl>
+
+<dl><dt><a name="Test-assertNotEqual"><strong>assertNotEqual</strong></a>(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertNotEquals"><strong>assertNotEquals</strong></a> = assertNotEqual(self, first, second, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;if&nbsp;the&nbsp;two&nbsp;objects&nbsp;are&nbsp;equal&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;'=='<br>
+operator.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertNotIn"><strong>assertNotIn</strong></a>(self, member, container, msg<font color="#909090">=None</font>)</dt><dd><tt>Just&nbsp;like&nbsp;<a href="#Test-assertTrue">assertTrue</a>(a&nbsp;not&nbsp;in&nbsp;b),&nbsp;but&nbsp;with&nbsp;a&nbsp;nicer&nbsp;default&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertRaises"><strong>assertRaises</strong></a>(self, excClass, callableObj<font color="#909090">=None</font>, *args, **kwargs)</dt><dd><tt>Fail&nbsp;unless&nbsp;an&nbsp;exception&nbsp;of&nbsp;class&nbsp;excClass&nbsp;is&nbsp;thrown<br>
+by&nbsp;callableObj&nbsp;when&nbsp;invoked&nbsp;with&nbsp;arguments&nbsp;args&nbsp;and&nbsp;keyword<br>
+arguments&nbsp;kwargs.&nbsp;If&nbsp;a&nbsp;different&nbsp;type&nbsp;of&nbsp;exception&nbsp;is<br>
+thrown,&nbsp;it&nbsp;will&nbsp;not&nbsp;be&nbsp;caught,&nbsp;and&nbsp;the&nbsp;test&nbsp;case&nbsp;will&nbsp;be<br>
+deemed&nbsp;to&nbsp;have&nbsp;suffered&nbsp;an&nbsp;error,&nbsp;exactly&nbsp;as&nbsp;for&nbsp;an<br>
+unexpected&nbsp;exception.<br>
+&nbsp;<br>
+If&nbsp;called&nbsp;with&nbsp;callableObj&nbsp;omitted&nbsp;or&nbsp;None,&nbsp;will&nbsp;return&nbsp;a<br>
+context&nbsp;object&nbsp;used&nbsp;like&nbsp;this::<br>
+&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;<a href="#Test-assertRaises">assertRaises</a>(some_error_class):<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do_something()</tt></dd></dl>
+
+<dl><dt><a name="Test-assertRaisesRegexp"><strong>assertRaisesRegexp</strong></a>(self, expected_exception, expected_regexp, callable_obj<font color="#909090">=None</font>, *args, **kwargs)</dt><dd><tt>Asserts&nbsp;that&nbsp;the&nbsp;message&nbsp;in&nbsp;a&nbsp;raised&nbsp;exception&nbsp;matches&nbsp;a&nbsp;regexp.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;expected_exception:&nbsp;Exception&nbsp;class&nbsp;expected&nbsp;to&nbsp;be&nbsp;raised.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;expected_regexp:&nbsp;Regexp&nbsp;(re&nbsp;pattern&nbsp;object&nbsp;or&nbsp;string)&nbsp;expected<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;be&nbsp;found&nbsp;in&nbsp;error&nbsp;message.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;callable_obj:&nbsp;Function&nbsp;to&nbsp;be&nbsp;called.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;args:&nbsp;Extra&nbsp;args.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;kwargs:&nbsp;Extra&nbsp;kwargs.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertRegexpMatches"><strong>assertRegexpMatches</strong></a>(self, text, expected_regex, msg<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="Test-assertSameElements"><strong>assertSameElements</strong></a>(self, expected_seq, actual_seq, msg<font color="#909090">=None</font>)</dt><dd><tt>An&nbsp;unordered&nbsp;sequence&nbsp;specific&nbsp;comparison.<br>
+&nbsp;<br>
+Raises&nbsp;with&nbsp;an&nbsp;error&nbsp;message&nbsp;listing&nbsp;which&nbsp;elements&nbsp;of&nbsp;expected_seq<br>
+are&nbsp;missing&nbsp;from&nbsp;actual_seq&nbsp;and&nbsp;vice&nbsp;versa&nbsp;if&nbsp;any.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertSequenceEqual"><strong>assertSequenceEqual</strong></a>(self, seq1, seq2, msg<font color="#909090">=None</font>, seq_type<font color="#909090">=None</font>)</dt><dd><tt>An&nbsp;equality&nbsp;assertion&nbsp;for&nbsp;ordered&nbsp;sequences&nbsp;(like&nbsp;lists&nbsp;and&nbsp;tuples).<br>
+&nbsp;<br>
+For&nbsp;the&nbsp;purposes&nbsp;of&nbsp;this&nbsp;function,&nbsp;a&nbsp;valid&nbsp;orderd&nbsp;sequence&nbsp;type&nbsp;is&nbsp;one<br>
+which&nbsp;can&nbsp;be&nbsp;indexed,&nbsp;has&nbsp;a&nbsp;length,&nbsp;and&nbsp;has&nbsp;an&nbsp;equality&nbsp;operator.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;seq1:&nbsp;The&nbsp;first&nbsp;sequence&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;seq2:&nbsp;The&nbsp;second&nbsp;sequence&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;seq_type:&nbsp;The&nbsp;expected&nbsp;datatype&nbsp;of&nbsp;the&nbsp;sequences,&nbsp;or&nbsp;None&nbsp;if&nbsp;no<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datatype&nbsp;should&nbsp;be&nbsp;enforced.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertSetEqual"><strong>assertSetEqual</strong></a>(self, set1, set2, msg<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;set-specific&nbsp;equality&nbsp;assertion.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;set1:&nbsp;The&nbsp;first&nbsp;set&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;set2:&nbsp;The&nbsp;second&nbsp;set&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.<br>
+&nbsp;<br>
+For&nbsp;more&nbsp;general&nbsp;containership&nbsp;equality,&nbsp;assertSameElements&nbsp;will&nbsp;work<br>
+with&nbsp;things&nbsp;other&nbsp;than&nbsp;sets.&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;uses&nbsp;ducktyping&nbsp;to&nbsp;support<br>
+different&nbsp;types&nbsp;of&nbsp;sets,&nbsp;and&nbsp;is&nbsp;optimized&nbsp;for&nbsp;sets&nbsp;specifically<br>
+(parameters&nbsp;must&nbsp;support&nbsp;a&nbsp;difference&nbsp;method).</tt></dd></dl>
+
+<dl><dt><a name="Test-assertTrue"><strong>assertTrue</strong></a>(self, expr, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;the&nbsp;test&nbsp;unless&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.</tt></dd></dl>
+
+<dl><dt><a name="Test-assertTupleEqual"><strong>assertTupleEqual</strong></a>(self, tuple1, tuple2, msg<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;tuple-specific&nbsp;equality&nbsp;assertion.<br>
+&nbsp;<br>
+Args:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;tuple1:&nbsp;The&nbsp;first&nbsp;tuple&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;tuple2:&nbsp;The&nbsp;second&nbsp;tuple&nbsp;to&nbsp;compare.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;msg:&nbsp;Optional&nbsp;message&nbsp;to&nbsp;use&nbsp;on&nbsp;failure&nbsp;instead&nbsp;of&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;differences.</tt></dd></dl>
+
+<dl><dt><a name="Test-assert_"><strong>assert_</strong></a> = assertTrue(self, expr, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;the&nbsp;test&nbsp;unless&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.</tt></dd></dl>
+
+<dl><dt><a name="Test-countTestCases"><strong>countTestCases</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Test-debug"><strong>debug</strong></a>(self)</dt><dd><tt>Run&nbsp;the&nbsp;test&nbsp;without&nbsp;collecting&nbsp;errors&nbsp;in&nbsp;a&nbsp;TestResult</tt></dd></dl>
+
+<dl><dt><a name="Test-defaultTestResult"><strong>defaultTestResult</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Test-doCleanups"><strong>doCleanups</strong></a>(self)</dt><dd><tt>Execute&nbsp;all&nbsp;cleanup&nbsp;functions.&nbsp;Normally&nbsp;called&nbsp;for&nbsp;you&nbsp;after<br>
+tearDown.</tt></dd></dl>
+
+<dl><dt><a name="Test-fail"><strong>fail</strong></a>(self, msg<font color="#909090">=None</font>)</dt><dd><tt>Fail&nbsp;immediately,&nbsp;with&nbsp;the&nbsp;given&nbsp;message.</tt></dd></dl>
+
+<dl><dt><a name="Test-failIf"><strong>failIf</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-failIfAlmostEqual"><strong>failIfAlmostEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-failIfEqual"><strong>failIfEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-failUnless"><strong>failUnless</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-failUnlessAlmostEqual"><strong>failUnlessAlmostEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-failUnlessEqual"><strong>failUnlessEqual</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-failUnlessRaises"><strong>failUnlessRaises</strong></a> = deprecated_func(*args, **kwargs)</dt></dl>
+
+<dl><dt><a name="Test-id"><strong>id</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Test-run"><strong>run</strong></a>(self, result<font color="#909090">=None</font>)</dt></dl>
+
+<dl><dt><a name="Test-setUp"><strong>setUp</strong></a>(self)</dt><dd><tt>Hook&nbsp;method&nbsp;for&nbsp;setting&nbsp;up&nbsp;the&nbsp;test&nbsp;fixture&nbsp;before&nbsp;exercising&nbsp;it.</tt></dd></dl>
+
+<dl><dt><a name="Test-shortDescription"><strong>shortDescription</strong></a>(self)</dt><dd><tt>Returns&nbsp;both&nbsp;the&nbsp;test&nbsp;method&nbsp;name&nbsp;and&nbsp;first&nbsp;line&nbsp;of&nbsp;its&nbsp;docstring.<br>
+&nbsp;<br>
+If&nbsp;no&nbsp;docstring&nbsp;is&nbsp;given,&nbsp;only&nbsp;returns&nbsp;the&nbsp;method&nbsp;name.<br>
+&nbsp;<br>
+This&nbsp;method&nbsp;overrides&nbsp;unittest.<a href="unittest.html#TestCase">TestCase</a>.<a href="#Test-shortDescription">shortDescription</a>(),&nbsp;which<br>
+only&nbsp;returns&nbsp;the&nbsp;first&nbsp;line&nbsp;of&nbsp;the&nbsp;docstring,&nbsp;obscuring&nbsp;the&nbsp;name<br>
+of&nbsp;the&nbsp;test&nbsp;upon&nbsp;failure.</tt></dd></dl>
+
+<dl><dt><a name="Test-skipTest"><strong>skipTest</strong></a>(self, reason)</dt><dd><tt>Skip&nbsp;this&nbsp;test.</tt></dd></dl>
+
+<dl><dt><a name="Test-tearDown"><strong>tearDown</strong></a>(self)</dt><dd><tt>Hook&nbsp;method&nbsp;for&nbsp;deconstructing&nbsp;the&nbsp;test&nbsp;fixture&nbsp;after&nbsp;testing&nbsp;it.</tt></dd></dl>
+
+<hr>
+Data descriptors inherited from <a href="unittest.html#TestCase">unittest.TestCase</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="unittest.html#TestCase">unittest.TestCase</a>:<br>
+<dl><dt><strong>failureException</strong> = &lt;class 'AssertionError'&gt;<dd><tt>Assertion&nbsp;failed.</tt></dl>
+
+<dl><dt><strong>longMessage</strong> = False</dl>
+
+</td></tr></table></td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/doc/pydoc/test.tc_ui.html b/doc/pydoc/test.tc_ui.html
index fcea943d..8e18f671 100644
--- a/doc/pydoc/test.tc_ui.html
+++ b/doc/pydoc/test.tc_ui.html
@@ -55,8 +55,6 @@ Methods defined here:<br>
 
 <dl><dt><a name="Test-test_passing"><strong>test_passing</strong></a>(self)</dt></dl>
 
-<dl><dt><a name="Test-test_scrolling"><strong>test_scrolling</strong></a>(self)</dt></dl>
-
 <hr>
 Methods inherited from <a href="unittest.html#TestCase">unittest.TestCase</a>:<br>
 <dl><dt><a name="Test-__call__"><strong>__call__</strong></a>(self, *args, **kwds)</dt></dl>