format 70 "ranger" // ranger revision 23 modified_by 2 "hut" // class settings //class diagram settings draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default //use case diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default //sequence diagram settings show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default //component diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default //deployment diagram settings package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default show_stereotype_properties default //activity diagram settings package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default show_infonote default drawing_language default show_stereotype_properties default classview 128002 "Classes" //class diagram settings draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default //sequence diagram settings show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default show_stereotype_properties default //class settings //activity diagram settings package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default show_infonote default drawing_language default show_stereotype_properties default classdiagram 134530 "Overview" draw_all_relations no hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default size A4 end sequencediagram 141058 "Basic Logic" show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default overlapping_bars size A4 end classdiagram 128002 "Displayable Hierarchy" draw_all_relations no hide_attributes yes hide_operations yes hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default class_color yellow size A4 end class 128002 "Displayable" abstract visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 136322 // relation_ref 135938 // end operation 134530 "draw" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 134658 "press" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 134786 "click" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 134914 "destroy" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 135042 "resize" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end classrelation 143234 // relation 142850 ---|> a public python "${type}" classrelation_ref 143234 // b parent class_ref 142210 // EnvironmentAware end classrelation 143362 // relation 142978 ---|> a public python "${type}" classrelation_ref 143362 // b parent class_ref 141954 // FileManagerAware end classrelation 150018 // relation 149634 ---|> a public python "${type}" classrelation_ref 150018 // b parent class_ref 142082 // SettingsAware end classrelation 170882 // relation 169986 ---- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 170882 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 171010 // end classrelation 171778 // relation_ref 170370 // end operation 149378 "finalize" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 149506 "color" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 149634 "contains_point" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end end class 128130 "UI" abstract visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 128258 // relation 128258 ---|> a public python "${type}" classrelation_ref 128258 // b parent class_ref 128386 // DisplayableContainer end operation 148482 "handle_mouse" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 148610 "handle_key" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 148738 "get_next_key" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 148866 "setup" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 148994 "setup" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 149122 "redraw" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 149250 "update_size" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 171138 "initialize" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end classrelation 201090 // relation 198658 o--- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 201090 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 201218 // end end class 128258 "DefaultUI" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 128002 // relation 128002 ---|> a public python "${type}" classrelation_ref 128002 // b parent class_ref 128130 // UI end classrelation 171906 // relation 170498 ---- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 171906 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 172034 // end operation 171266 "open_console" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 171394 "scroll" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end end class 128386 "DisplayableContainer" abstract visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 128386 // relation 128386 ---|> a public python "${type}" classrelation_ref 128386 // b parent class_ref 128002 // Displayable end classrelation 136194 // relation 135938 o--- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 136194 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 136322 // end operation 149762 "get_focused_obj" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 149890 "add_obj" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end end class 135042 "TitleBar" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 172674 // relation 171010 ---|> a public python "${type}" classrelation_ref 172674 // b parent class_ref 156034 // Widget end end class 135170 "BrowserColumn" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 136066 // relation_ref 135810 // end classrelation 193410 // relation 191362 ---|> a public python "${type}" classrelation_ref 193410 // b parent class_ref 175746 // Pager end end class 135298 "BrowserView" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 135554 // relation 135554 ---|> a public python "${type}" classrelation_ref 135554 // b parent class_ref 128386 // DisplayableContainer end classrelation 135938 // relation 135810 o--- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 135938 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 136066 // end classrelation 172930 // relation 171266 ---|> a public python "${type}" classrelation_ref 172930 // b parent class_ref 156034 // Widget end classrelation 200834 // relation 198530 o--- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 200834 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 200962 // end end class 135426 "Console" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 172162 // relation 170626 ---- a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 172162 // b role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 172290 // end classrelation 172546 // relation 170882 ---|> a public python "${type}" classrelation_ref 172546 // b parent class_ref 156034 // Widget end operation 163202 "open" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 163330 "close" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 163458 "clear" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 163586 "move" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 163714 "type_key" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end operation 163842 "execute" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end end class 141954 "FileManagerAware" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" end class 142082 "SettingsAware" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" end class 142210 "EnvironmentAware" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" end class 148738 "Action" abstract visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" end class 148866 "Command" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 163714 // relation_ref 162946 // end classrelation 170498 // relation 169730 ---> a role_name "" private python "${comment}${self}${name} = ${value} " classrelation_ref 170498 // b parent class_ref 148738 // Action end operation 164226 "execute" public explicit_return_type "" nparams 0 python_def "${@}${static}${abstract}def ${name}${(}${)}: ${docstring}${body} " end end class 148994 "CommandList" visibility package cpp_decl "" java_decl "" php_decl "" python_2_2 python_decl "class ${name}${inherit}: ${docstring}${members} " idl_decl "" explicit_switch_type "" classrelation 163586 // relation 162946 o--- a role_name "" private python "${comm
Colorschemes
============

This text explains colorschemes and how they work.


Context Tags
------------

Context Tags provide information about the context.  If the tag
"in_titlebar" is set, you probably want to know about the color
of a part of the titlebar now.

There are a number of context tags, specified in /ranger/gui/context.py
in the constant CONTEXT_KEYS.

A Context object, defined in the same file, contains attributes with
the names of all tags, whose values are either True or False.


Implementation in the GUI Classes
---------------------------------

The class CursesShortcuts in the file /ranger/gui/curses_shortcuts.py
defines the methods color(*tags), color_at(y, x, wid, *tags) and
color_reset().  This class is a superclass of Displayable, so these
methods are available almost everywhere.

Something like color("in_titlebar", "directory") will be called to
get the color of directories in the titlebar.  This creates a
ranger.gui.context.Context object, sets its attributes "in_titlebar" and
"directory" to True, leaves the others as False, and passes it to the
colorscheme's use(context) method.


The Color Scheme
----------------

A colorscheme should be a subclass of ranger.gui.ColorScheme and
define the method use(context).  By looking at the context, this use-method
has to determine a 3-tuple of integers: (foreground, background, attribute)
and return it.

foreground and background are integers representing colors,
attribute is another integer with each bit representing one attribute.
These integers are interpreted by the used terminal emulato