177 lines
5.3 KiB
Python
177 lines
5.3 KiB
Python
# Ivaylo Kuzev <ivkuzev@gmail.com>, 2014
|
|
# Zenburn like colorscheme for https://github.com/hut/ranger .
|
|
|
|
# default colorscheme.
|
|
# Copyright (C) 2009-2013 Roman Zimbelmann <hut@lepus.uberspace.de>
|
|
# This software is distributed under the terms of the GNU GPL version 3.
|
|
|
|
from ranger.gui.colorscheme import ColorScheme
|
|
from ranger.gui.color import default_colors, reverse, bold, normal, default
|
|
|
|
|
|
# pylint: disable=too-many-branches,too-many-statements
|
|
class Gotham(ColorScheme):
|
|
progress_bar_color = 108
|
|
|
|
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:
|
|
attr |= bold
|
|
fg = 232
|
|
bg = 124
|
|
if context.border:
|
|
fg = 7
|
|
if context.image: # spellbinder
|
|
fg = 208
|
|
if context.video:
|
|
fg = 66
|
|
if context.audio: # shriek
|
|
fg = 45
|
|
bg = 231
|
|
if context.document:
|
|
fg = 15
|
|
if context.container: # ra's al ghul in talia's body
|
|
attr |= bold
|
|
fg = 141
|
|
bg = 28
|
|
if context.directory:
|
|
attr |= bold
|
|
fg = 124
|
|
# simon harper
|
|
elif context.executable and not \
|
|
any((context.media, context.container,
|
|
context.fifo, context.socket)):
|
|
attr |= bold
|
|
fg = 94
|
|
if context.socket: # chronos
|
|
fg = 40
|
|
attr |= bold
|
|
if context.fifo or context.device: # inque
|
|
fg = 16
|
|
bg = 18
|
|
if context.device:
|
|
attr |= bold
|
|
if context.link: # hush, dick grayson clone
|
|
fg = 20
|
|
bg = 247 if context.good else 196
|
|
if context.bad:
|
|
bg = 232
|
|
if context.tag_marker and not context.selected:
|
|
attr |= bold
|
|
# if fg is empty/error or badinfo
|
|
if fg in (232, 196):
|
|
fg = 248
|
|
else:
|
|
fg = 174
|
|
if not context.selected and (context.cut or context.copied):
|
|
fg = 108
|
|
bg = 234
|
|
if context.main_column:
|
|
if context.selected:
|
|
attr |= bold
|
|
if context.marked:
|
|
attr |= bold
|
|
fg = 223
|
|
if context.badinfo:
|
|
if attr & reverse:
|
|
bg = 196
|
|
else:
|
|
fg = 196
|
|
|
|
elif context.in_titlebar:
|
|
attr |= bold
|
|
if context.hostname:
|
|
fg = 124
|
|
if context.bad:
|
|
attr |= reverse
|
|
elif context.directory:
|
|
fg = 124
|
|
elif context.tab:
|
|
if context.good:
|
|
bg = 150
|
|
elif context.link:
|
|
fg = 20
|
|
|
|
elif context.in_statusbar:
|
|
if context.permissions:
|
|
if context.good:
|
|
fg = 124
|
|
elif context.bad:
|
|
bg = 124
|
|
fg = 16
|
|
if context.marked:
|
|
attr |= bold | reverse
|
|
fg = 223
|
|
if context.message:
|
|
if context.bad:
|
|
attr |= bold
|
|
fg = 16
|
|
bg = 124
|
|
if context.loaded:
|
|
bg = self.progress_bar_color
|
|
if context.vcsinfo:
|
|
fg = 124
|
|
attr &= ~bold
|
|
if context.vcscommit:
|
|
fg = 124
|
|
attr &= ~bold
|
|
|
|
if context.text:
|
|
if context.highlight:
|
|
attr |= reverse
|
|
|
|
if context.in_taskview:
|
|
if context.title:
|
|
fg = 116
|
|
|
|
if context.selected:
|
|
attr |= reverse
|
|
|
|
if context.loaded:
|
|
if context.selected:
|
|
fg = self.progress_bar_color
|
|
else:
|
|
bg = self.progress_bar_color
|
|
|
|
if context.vcsfile and not context.selected:
|
|
attr &= ~bold
|
|
if context.vcsconflict:
|
|
fg = 16
|
|
bg = 124
|
|
elif context.vcschanged:
|
|
fg = 124
|
|
elif context.vcsunknown:
|
|
#fg = 246
|
|
fg = 200
|
|
elif context.vcsstaged:
|
|
fg = 40
|
|
elif context.vcssync:
|
|
fg = 124
|
|
elif context.vcsignored:
|
|
fg = default
|
|
|
|
elif context.vcsremote and not context.selected:
|
|
attr &= ~bold
|
|
if context.vcssync:
|
|
fg = 124
|
|
elif context.vcsbehind:
|
|
fg = 15
|
|
elif context.vcsahead:
|
|
fg = 20
|
|
elif context.vcsdiverged:
|
|
fg = 16
|
|
bg = 124
|
|
elif context.vcsunknown:
|
|
fg = 247
|
|
|
|
return fg, bg, attr
|