SHARE
TWEET

solarized.py

hundone Apr 8th, 2015 8 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Joseph Tannhuber <sepp.tannhuber@yahoo.de>, 2013
  2. # Solarized like colorscheme, similar to solarized-dircolors
  3. # from https://github.com/seebi/dircolors-solarized.
  4. # This is a modification of Roman Zimbelmann's default colorscheme.
  5. # This software is distributed under the terms of the GNU GPL version 3.
  6.  
  7. from ranger.gui.colorscheme import ColorScheme
  8. from ranger.gui.color import *
  9.  
  10. class Solarized(ColorScheme):
  11.     progress_bar_color = 33
  12.  
  13.     def use(self, context):
  14.         fg, bg, attr = default_colors
  15.  
  16.         if context.reset:
  17.             return default_colors
  18.  
  19.         elif context.in_browser:
  20.             fg = 244
  21.             if context.selected:
  22.                 attr = reverse
  23.             else:
  24.                 attr = normal
  25.             if context.empty or context.error:
  26.                 fg = 235
  27.                 bg = 160
  28.             if context.border:
  29.                 fg = default
  30.             if context.media:
  31.                 if context.image:
  32.                     fg = 136
  33.                 else:
  34.                     fg = 166
  35.             if context.container:
  36.                 fg = 61
  37.             if context.directory:
  38.                 fg = 4
  39.             elif context.executable and not \
  40.                     any((context.media, context.container,
  41.                         context.fifo, context.socket)):
  42.                 fg = 64
  43.                 attr |= bold
  44.             if context.socket:
  45.                 fg = 136
  46.                 bg = 230
  47.                 attr |= bold
  48.             if context.fifo:
  49.                 fg = 136
  50.                 bg = 230
  51.                 attr |= bold
  52.             if context.device:
  53.                 fg = 244
  54.                 bg = 230
  55.                 attr |= bold
  56.             if context.link:
  57.                 fg = context.good and 37 or 160
  58.                 attr |= bold
  59.                 if context.bad:
  60.                     bg = 235
  61.             if context.tag_marker and not context.selected:
  62.                 attr |= bold
  63.                 if fg in (red, magenta):
  64.                     fg = white
  65.                 else:
  66.                     fg = red
  67.             if not context.selected and (context.cut or context.copied):
  68.                 fg = 234
  69.                 attr |= bold
  70.             if context.main_column:
  71.                 if context.selected:
  72.                     attr |= bold
  73.                 if context.marked:
  74.                     attr |= bold
  75.                     bg = 237
  76.             if context.badinfo:
  77.                 if attr & reverse:
  78.                     bg = magenta
  79.                 else:
  80.                     fg = magenta
  81.  
  82.         elif context.in_titlebar:
  83.             attr |= bold
  84.             if context.hostname:
  85.                 fg = context.bad and 16 or 3
  86.                 if context.bad:
  87.                     bg = 166
  88.             elif context.directory:
  89.                 fg = 7
  90.             elif context.tab:
  91.                 fg = context.good and 3 or 7
  92.                 bg = 0
  93.             elif context.link:
  94.                 fg = cyan
  95.  
  96.         elif context.in_statusbar:
  97.             if context.permissions:
  98.                 if context.good:
  99.                     fg = 2
  100.                 elif context.bad:
  101.                     fg = 160
  102.                     bg = 235
  103.             if context.marked:
  104.                 attr |= bold | reverse
  105.                 fg = 237
  106.                 bg = 47
  107.             if context.message:
  108.                 if context.bad:
  109.                     attr |= bold
  110.                     fg = 160
  111.                     bg = 235
  112.             if context.loaded:
  113.                 bg = self.progress_bar_color
  114.  
  115.         if context.text:
  116.             if context.highlight:
  117.                 attr |= reverse
  118.  
  119.         if context.in_taskview:
  120.             if context.title:
  121.                 fg = 93
  122.  
  123.             if context.selected:
  124.                 attr |= reverse
  125.  
  126.             if context.loaded:
  127.                 if context.selected:
  128.                     fg = self.progress_bar_color
  129.                 else:
  130.                     bg = self.progress_bar_color
  131.  
  132.         return fg, bg, attr
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top