forked from ranger/colorschemes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ranger#1 from toonn/master
Squash of three commits adding zenburn.py
- Loading branch information
Showing
1 changed file
with
163 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
# Ivaylo Kuzev <[email protected]>, 2014 | ||
# Zenburn like colorscheme for https://github.com/hut/ranger . | ||
|
||
# default colorscheme. | ||
# Copyright (C) 2009-2013 Roman Zimbelmann <[email protected]> | ||
# 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 Zenburn(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: | ||
fg = 174 | ||
bg = 235 | ||
if context.border: | ||
fg = 248 | ||
if context.image: | ||
fg = 109 | ||
if context.video: | ||
fg = 66 | ||
if context.audio: | ||
fg = 116 | ||
if context.document: | ||
fg = 151 | ||
if context.container: | ||
attr |= bold | ||
fg = 174 | ||
if context.directory: | ||
attr |= bold | ||
fg = 223 | ||
elif context.executable and not \ | ||
any((context.media, context.container, | ||
context.fifo, context.socket)): | ||
attr |= bold | ||
fg = 108 | ||
if context.socket: | ||
fg = 180 | ||
attr |= bold | ||
if context.fifo or context.device: | ||
fg = 144 | ||
if context.device: | ||
attr |= bold | ||
if context.link: | ||
fg = 223 if context.good else 116 | ||
bg = 234 | ||
if context.bad: | ||
bg = 235 | ||
if context.tag_marker and not context.selected: | ||
attr |= bold | ||
if fg in (174, 95): | ||
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 = 95 | ||
else: | ||
fg = 95 | ||
|
||
elif context.in_titlebar: | ||
attr |= bold | ||
if context.hostname: | ||
fg = 174 if context.bad else 180 | ||
elif context.directory: | ||
fg = 223 | ||
elif context.tab: | ||
if context.good: | ||
bg = 180 | ||
elif context.link: | ||
fg = 116 | ||
|
||
elif context.in_statusbar: | ||
if context.permissions: | ||
if context.good: | ||
fg = 108 | ||
elif context.bad: | ||
fg = 174 | ||
if context.marked: | ||
attr |= bold | reverse | ||
fg = 223 | ||
if context.message: | ||
if context.bad: | ||
attr |= bold | ||
fg = 174 | ||
if context.loaded: | ||
bg = self.progress_bar_color | ||
if context.vcsinfo: | ||
fg = 116 | ||
attr &= ~bold | ||
if context.vcscommit: | ||
fg = 144 | ||
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 = 95 | ||
elif context.vcschanged: | ||
fg = 174 | ||
elif context.vcsunknown: | ||
fg = 174 | ||
elif context.vcsstaged: | ||
fg = 108 | ||
elif context.vcssync: | ||
fg = 108 | ||
elif context.vcsignored: | ||
fg = default | ||
|
||
elif context.vcsremote and not context.selected: | ||
attr &= ~bold | ||
if context.vcssync: | ||
fg = 108 | ||
elif context.vcsbehind: | ||
fg = 174 | ||
elif context.vcsahead: | ||
fg = 116 | ||
elif context.vcsdiverged: | ||
fg = 95 | ||
elif context.vcsunknown: | ||
fg = 174 | ||
|
||
return fg, bg, attr |