#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import colorsys def define(saturation, value): def showColor(hue): return colorsys.hsv_to_rgb(hue, saturation, value) return showColor def showColor(theme, hue): r, g, b = theme(hue / 360.) return "#%02x%02x%02x" % (int(r*256), int(g*256), int(b*256)) if __name__ == "__main__": if len(sys.argv) < 5: print "Usage :" print "color.py SHIFT LIGHT_SATURATION DARK_SATURATION LIGHT_VALUE DARK_VALUE ANGLE" sys.exit(1) shift = int(sys.argv[1]) light_s = int(sys.argv[2])/100. dark_s = int(sys.argv[3])/100. light_v = int(sys.argv[4])/100. dark_v = int(sys.argv[5])/100. angle = 60 angle = int(sys.argv[6]) colors = [ 1, # red 3, # yellow 2, # green 6, # cyan 4, # blue 5, # magenta ] print "!This theme has been generated with the command" print "!colors.py %s %s %s %s %s %s" % (sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6]) dark_theme = define(dark_s, dark_v) light_theme = define(light_s, light_v) for name in colors: value = name * angle dark = showColor(dark_theme, value - shift) light = showColor(light_theme, value - shift) print "#define _color%s %s" % (name, dark) print "#define _color%s %s" % (name+8, light) #print "urxvt.color%d : %s" % (name, dark) #print "urxvt.color%d : %s" % (name+8, light) print "XTerm*color%d : %s" % (name, dark) print "XTerm*color%d : %s" % (name+8, light)