Files
dotfiles/ranger/colorschemes/colorful.py
T
Henrik Bakken 55a49a6ee0 first commit
2020-04-07 18:49:42 +02:00

116 lines
3.2 KiB
Python

from ranger.gui.colorscheme import ColorScheme
from ranger.gui.color import *
class ColorScheme(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:
fg = 6
bg = 1
if context.border:
fg = white
if context.image:
fg = 201
if context.video:
fg = 13
if context.audio:
fg = 10
if context.document:
fg = 12
if context.container:
attr |= bold
fg = 1
if context.directory:
attr |= normal
fg = 3
elif context.executable and not \
any((context.media, context.container,
context.fifo, context.socket)):
attr |= bold
fg = 2
if context.socket:
fg = 21
attr |= bold
if context.fifo or context.device:
fg = 21
if context.device:
attr |= bold
if context.link:
fg = context.good and 6 or 1
if context.bad:
fg = 0
bg = 1
if context.tag_marker and not context.selected:
attr |= bold
fg = 88
if not context.selected and (context.cut or context.copied):
attr = reverse
if context.main_column:
if context.selected:
attr |= bold
if context.marked:
attr |= bold
fg = 8
if context.badinfo:
if attr & reverse:
bg = 1
else:
fg = 7
elif context.in_titlebar:
attr |= bold
if context.hostname:
fg = context.bad and 1 or 5
elif context.directory:
fg = 5
elif context.tab:
if context.good:
bg = 2
elif context.in_statusbar:
if context.permissions:
if context.good:
fg = 2
bg = 0
elif context.bad:
fg = 1
if context.marked:
attr |= bold | reverse
fg = 88
if context.message:
if context.bad:
attr |= bold
fg = 9
if context.loaded:
bg = 1
if context.text:
if context.highlight:
attr |= reverse
if context.in_taskview:
if context.title:
fg = 4
if context.selected:
attr |= reverse
if context.loaded:
if context.selected:
fg = 1
else:
bg = 1
return fg, bg, attr