diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/cd-after-exit.txt | 22 | ||||
-rw-r--r-- | doc/colorschemes.txt | 22 |
2 files changed, 31 insertions, 13 deletions
diff --git a/doc/cd-after-exit.txt b/doc/cd-after-exit.txt index 5e54fee0..ee300518 100644 --- a/doc/cd-after-exit.txt +++ b/doc/cd-after-exit.txt @@ -1,6 +1,8 @@ The "cd-after-exit" Feature +=========================== -== Abstract +Abstract +-------- This document explains the troublesome implementation of the "cd-after-exit" feature. @@ -8,7 +10,8 @@ feature. This is written for developers who wonder how it's working. -== Specification +Specification +------------- When the feature is enabled, ranger will attempt to change the directory of the parent shell (from which ranger is run) to the last visited directory @@ -20,7 +23,8 @@ addition of support for csh, ksh, and other shells to those who actually use those shells. -== What's the problem? +What's the problem? +------------------- Shells have several limitations, the implementation could not be done easily because: @@ -33,7 +37,8 @@ of the parent shell at all. which is directly integrated in to the shell and can not be run this way. -== Redirection of streams +Redirection of streams +---------------------- The only way I found is using cd `program` from inside the shell to change the directory to whatever `program` prints to the stdout: @@ -62,7 +67,8 @@ switch which: bash$ cd `ranger --cd-after-exit 3>&1 1>&2 2>&3 3>&-` -== Argument passing +Argument passing +---------------- This works well enough, but there are two remaining problems: @@ -92,7 +98,8 @@ run.sh: cd "`$RANGER --cd-after-exit \"$@\" 3>&1 1>&2 2>&3 3>&-`" -== Put it in a nutshell +Put it in a nutshell +-------------------- I didn't want to have 2 files for the main program and wanted just one file at /usr/bin/ranger. So I used this trick to merge both files into one: @@ -120,7 +127,8 @@ A convenient way of using this feature is adding this line to your bashrc: alias rn='source ranger ranger' -== Open issues +Open issues +----------- Unfortunately there is some redundancy: you have to type the path to ranger twice. I know of no way to fix this, because it is not possible to get the diff --git a/doc/colorschemes.txt b/doc/colorschemes.txt index 9df33c3e..a189d4fd 100644 --- a/doc/colorschemes.txt +++ b/doc/colorschemes.txt @@ -1,9 +1,15 @@ -= Abstract = +Colorschemes +============ + +Abstract +-------- + This text explains colorschemes and how they work. -= Context Tags = +Context Tags +------------ Context Tags provide information about the context. If the tag "in_titlebar" is set, you probably want to know about the color @@ -16,7 +22,8 @@ A Context object, defined in the same file, contains attributes with the names of all tags, whose values are either True or False. -= Implementation in the GUI Classes = +Implementation in the GUI Classes +--------------------------------- The class CursesShortcuts in the file /ranger/gui/curses_shortcuts.py defines the methods color(*tags), color_at(y, x, wid, *tags) and @@ -30,7 +37,8 @@ ranger.gui.context.Context object, sets its attributes "in_titlebar" and colorscheme's use(context) method. -= The Color Scheme = +The Color Scheme +---------------- A colorscheme should be a subclass of ranger.gui.ColorScheme and define the method use(context). By looking at the context, this use-method @@ -53,7 +61,8 @@ that tag. Run tc_colorscheme to check if your colorschemes are valid. -= Specify a Colorscheme = +Specify a Colorscheme +--------------------- Colorschemes are searched for in these directories: ~/.ranger/colorschemes/ @@ -73,7 +82,8 @@ specify which colorscheme to use in your options.py: colorscheme = colorschemes.default.MyOtherScheme -= Adapt a colorscheme = +Adapt a colorscheme +------------------- You may want to adapt a colorscheme to your needs without having a complete copy of it, but rather the changes only. Say, you |