1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | # Ranger theme
# Mod of Spacecolors
from ranger.gui.colorscheme import ColorScheme
from ranger.gui.color import *
class Default(ColorScheme):
def use(self, context):
fg, bg, attr = default_colors
if context.reset:
return default_colors
elif context.in_browser:
if context.selected:
attr = reverse
else:
attr = normal
if context.empty or context.error:
bg = red
if context.border:
attr |= bold
fg = black
if context.media:
if context.image:
fg = yellow
else:
fg = green
if context.container:
attr |= bold
fg = magenta
if context.directory:
attr |= bold
fg = black
elif context.executable and not \
any((context.media, context.container,
context.fifo, context.socket)):
attr |= bold
fg = green
if context.socket:
fg = magenta
if context.fifo or context.device:
fg = yellow
if context.device:
attr |= bold
if context.link:
fg = context.good and cyan or magenta
if context.tag_marker and not context.selected:
attr |= bold
if fg in (red, magenta):
fg = white
else:
fg = red
if not context.selected and (context.cut or context.copied):
fg = black
attr |= bold
if context.main_column:
if context.selected:
attr |= normal
if context.marked:
attr |= bold
fg = yellow
if context.badinfo:
if attr & reverse:
bg = magenta
else:
fg = magenta
elif context.in_titlebar:
attr |= bold
if context.hostname:
attr |= bold
fg = context.bad and black or black
elif context.directory:
fg = cyan
elif context.tab:
if context.good:
bg = green
elif context.link:
fg = cyan
elif context.in_statusbar:
if context.permissions:
if context.good:
fg = cyan
elif context.bad:
fg = magenta
if context.marked:
attr |= bold | reverse
fg = yellow
if context.message:
if context.bad:
attr |= bold
fg = red
if context.text:
if context.highlight:
attr |= reverse
if context.in_taskview:
if context.title:
fg = blue
if context.selected:
attr |= reverse
return fg, bg, attr
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | # -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2011 Roman Zimbelmann <romanz@lavabit.com>
# This configuration file is licensed under the same terms as ranger.
# ===================================================================
# This is the main configuration file of ranger. It consists of python
# code, but fear not, you don't need any python knowledge for changing
# the settings.
#
# Lines beginning with # are comments. To enable a line, remove the #.
#
# You can customize ranger in the file ~/.config/ranger/options.py.
# It has the same syntax as this file. In fact, you can just copy this
# file there with `ranger --copy-config=options' and make your modifications.
# But make sure you update your configs when you update ranger.
# ===================================================================
# Load the deault rc.conf file? If you've copied it to your configuration
# direcory, then you should deactivate this option.
load_default_rc = True
# How many columns are there, and what are their relative widths?
column_ratios = (1, 3, 4)
# Which files should be hidden? Toggle this by typing `zh' or
# changing the setting `show_hidden'
hidden_filter = r'^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$'
show_hidden = False
# Which script is used to generate file previews?
# ranger ships with scope.sh, a script that calls external programs (see
# README for dependencies) to preview images, archives, etc.
preview_script = '~/.config/ranger/scope.sh'
# Use that external preview script or display internal plain text previews?
use_preview_script = True
# Use a unicode "..." character to mark cut-off filenames?
unicode_ellipsis = False
# Show dotfiles in the bookmark preview box?
show_hidden_bookmarks = True
# Which colorscheme to use? These colorschemes are available by default:
# default, default88, jungle, snow
# Snow is monochrome and default88 uses 88 colors.
colorscheme = 'rangy'
# Preview files on the rightmost column?
# And collapse (shrink) the last column if there is nothing to preview?
preview_files = True
preview_directories = True
collapse_preview = True
# Save the console history on exit?
save_console_history = True
# Draw a progress bar in the status bar which displays the average state of all
# currently running tasks which support progress bars?
draw_progress_bar_in_status_bar = True
# Draw borders around columns?
draw_borders = True
draw_bookmark_borders = True
# Display the directory name in tabs?
dirname_in_tabs = False
# Enable the mouse support?
mouse_enabled = True
# Display the file size in the main column or status bar?
display_size_in_main_column = True
display_size_in_status_bar = True
# Display files tags in all columns or only in main column?
display_tags_in_all_columns = True
# Set a title for the window?
update_title = False
# Shorten the title if it gets long? The number defines how many
# directories are displayed at once, False turns off this feature.
shorten_title = 3
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
tilde_in_titlebar = True
# How many directory-changes or console-commands should be kept in history?
max_history_size = 20
max_console_history_size = 50
# Try to keep so much space between the top/bottom border when scrolling:
scroll_offset = 8
# Flush the input after each key hit? (Noticable when ranger lags)
flushinput = True
# Padding on the right when there's no preview?
# This allows you to click into the space to run the file.
padding_right = False
# Save bookmarks (used with mX and `X) instantly?
# This helps to synchronize bookmarks between multiple ranger
# instances but leads to *slight* performance loss.
# When false, bookmarks are saved when ranger is exited.
autosave_bookmarks = True
# You can display the "real" cumulative size of directories by using the
# command :get_cumulative_size or typing "dc". The size is expensive to
# calculate and will not be updated automatically. You can choose
# to update it automatically though by turning on this option:
autoupdate_cumulative_size = False
# Makes sense for screen readers:
show_cursor = False
# One of: size, basename, mtime, type
sort = 'natural'
sort_reverse = False
sort_case_insensitive = True
sort_directories_first = True
# Enable this if key combinations with the Alt Key don't work for you.
# (Especially on xterm)
xterm_alt_key = False
# A function that is called when the user interface is being set up.
init_function = None
# You can use it to initialize some custom functionality or bind singals
#def init_function(fm):
# fm.notify("Hello :)")
# def on_tab_change(signal):
# signal.origin.notify("Changing tab! Yay!")
# fm.signal_bind("tab.change", on_tab_change)
# The color scheme overlay. Explained below.
colorscheme_overlay = None
## Apply an overlay function to the colorscheme. It will be called with
## 4 arguments: the context and the 3 values (fg, bg, attr) returned by
## the original use() function of your colorscheme. The return value
## must be a 3-tuple of (fg, bg, attr).
## Note: Here, the colors/attributes aren't directly imported into
## the namespace but have to be accessed with color.xyz.
#from ranger.gui import color
#def colorscheme_overlay(context, fg, bg, attr):
# if context.directory and attr & color.bold and \
# not any((context.marked, context.selected)):
# attr ^= color.bold # I don't like bold directories!
#
# if context.main_column and context.selected:
# fg, bg = color.red, color.default # To highlight the main column!
#
# return fg, bg, attr
# ===================================================================
# Beware: from here on, you are on your own. This part requires python
# knowledge.
#
# Since python is a dynamic language, it gives you the power to replace any
# part of ranger without touching the code. This is commonly referred to as
# Monkey Patching and can be helpful if you, for some reason, don't want to
# modify rangers code directly. Just remember: the more you mess around, the
# more likely it is to break when you switch to another version.
#
# Here are some practical examples of monkey patching.
#
# Technical information: This file is imported as a python module. If a
# variable has the name of a setting, ranger will attempt to use it to change
# that setting. You can write "del <variable-name>" to avoid that.
# ===================================================================
# Add a new sorting algorithm: Random sort.
# Enable this with :set sort=random
#from ranger.fsobject.directory import Directory
#from random import random
#Directory.sort_dict['random'] = lambda path: random()
# ===================================================================
# A function that changes which files are displayed. This is more powerful
# than the hidden_filter setting since this function has more information.
## Save the original filter function
#import ranger.fsobject.directory
#old_accept_file = ranger.fsobject.directory.accept_file
#
## Define a new one
#def accept_file_MOD(fname, mypath, hidden_filter, name_filter):
# if hidden_filter and mypath == '/' and fname in ('boot', 'sbin', 'proc', 'sys'):
# return False
# else:
# return old_accept_file(fname, mypath, hidden_filter, name_filter)
#
## Overwrite the old function
#import ranger.fsobject.directory
#ranger.fsobject.directory.accept_file = accept_file_MOD
# ===================================================================
# A function that adds an additional macro. Test this with :shell -p echo %date
## Save the original macro function
#import ranger.core.actions
#old_get_macros = ranger.core.actions.Actions._get_macros
#
## Define a new macro function
#import time
#def get_macros_MOD(self):
# macros = old_get_macros(self)
# macros['date'] = time.strftime('%m/%d/%Y')
# return macros
#
## Overwrite the old one
#ranger.core.actions.Actions._get_macros = get_macros_MOD
|
x
Notes
A mod of spacecolors ranger theme. Coloring might need some tweaks, for the bold font I use terminuxmodx.
Custom colorschemes goes in “/home/$user/.config/ranger/colorschemes/” folder and you have to define your theme in “/home/$user/.config/ranger/options.py” ie. colorscheme = ‘yourtheme’
wenceslaus said about 12 years ago
I also asked this on the /wg/ thread, but where should one put rangy.py?
Shinryuu said about 12 years ago
I updated Notes section, look there ;)
McX said about 10 years ago
What’s the image viewer used ?
Shinryuu said about 8 years ago
It’s just an ascii preview which is the default for ranger. You need to have libcaca installed for it.