From c5bf957cb89cc223e126eba238f998a317533b6b Mon Sep 17 00:00:00 2001
From: Sébastien Dailly <sebastien@chimrod.com>
Date: Wed, 1 May 2019 19:32:21 +0200
Subject: Update theme

---
 theme/.config/xressource_colors |  50 +++++------
 theme/.dircolors                | 189 ++++++++++++++++++++++++++++++++++++++++
 theme/scripts/colors.py         |  69 ++++++++++-----
 3 files changed, 261 insertions(+), 47 deletions(-)
 create mode 100755 theme/.dircolors

(limited to 'theme')

diff --git a/theme/.config/xressource_colors b/theme/.config/xressource_colors
index d836d23..500efd0 100644
--- a/theme/.config/xressource_colors
+++ b/theme/.config/xressource_colors
@@ -1,26 +1,26 @@
 !This theme has been generated with the command
-!colors.py 90 40 60 90 70 30
-#define _color1 #b347b3
-#define _color9 #e68ae6
-XTerm*color1 : #b347b3
-XTerm*color9 : #e68ae6
-#define _color3 #b34747
-#define _color11 #e68a8a
-XTerm*color3 : #b34747
-XTerm*color11 : #e68a8a
-#define _color2 #b31147
-#define _color10 #e65c8a
-XTerm*color2 : #b31147
-XTerm*color10 : #e65c8a
-#define _color6 #7db347
-#define _color14 #b8e68a
-XTerm*color6 : #7db347
-XTerm*color14 : #b8e68a
-#define _color4 #b37d47
-#define _color12 #e6b88a
-XTerm*color4 : #b37d47
-XTerm*color12 : #e6b88a
-#define _color5 #b3b347
-#define _color13 #e6e68a
-XTerm*color5 : #b3b347
-XTerm*color13 : #e6e68a
+!colors.py 60 40 99 50 -160 199
+#define _color1 #4c8063
+#define _color9 #65fda8
+XTerm*color1 : #4c8063
+XTerm*color9 : #65fda8
+#define _color3 #804c7a
+#define _color11 #fd65ed
+XTerm*color3 : #804c7a
+XTerm*color11 : #fd65ed
+#define _color2 #4c5880
+#define _color10 #6587fd
+XTerm*color2 : #4c5880
+XTerm*color10 : #6587fd
+#define _color6 #63804c
+#define _color14 #aafd65
+XTerm*color6 : #63804c
+XTerm*color14 : #aafd65
+#define _color4 #80574c
+#define _color12 #fd8665
+XTerm*color4 : #80574c
+XTerm*color12 : #fd8665
+#define _color5 #807a4c
+#define _color13 #fdeb65
+XTerm*color5 : #807a4c
+XTerm*color13 : #fdeb65
diff --git a/theme/.dircolors b/theme/.dircolors
new file mode 100755
index 0000000..3a99574
--- /dev/null
+++ b/theme/.dircolors
@@ -0,0 +1,189 @@
+# Configuration file for dircolors, a utility to help you set the
+# LS_COLORS environment variable used by GNU ls with the --color option.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
+# Copying and distribution of this file, with or without modification,
+# are permitted provided the copyright notice and this notice are preserved.
+# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
+# slackware version of dircolors) are recognized but ignored.
+# Below are TERM entries, which can be a glob patterns, to match
+# against the TERM environment variable to determine if it is colorizable.
+TERM Eterm
+TERM ansi
+TERM *color*
+TERM con[0-9]*x[0-9]*
+TERM cons25
+TERM console
+TERM cygwin
+TERM dtterm
+TERM gnome
+TERM hurd
+TERM jfbterm
+TERM konsole
+TERM kterm
+TERM linux
+TERM linux-c
+TERM mlterm
+TERM putty
+TERM rxvt*
+TERM screen*
+TERM st
+TERM terminator
+TERM tmux*
+TERM vt100
+TERM xterm*
+# Below are the color init strings for the basic file types. A color init
+# string consists of one or more of the following numeric codes:
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+#NORMAL 00 # no color code at all
+#FILE 00 # regular file: use no color at all
+RESET 0 # reset to "normal" color
+DIR 01;34 # directory
+LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
+ # numerical value, the color is as for the file pointed to.)
+MULTIHARDLINK 00 # regular file with more than one link
+FIFO 40;33 # pipe
+SOCK 01;35 # socket
+DOOR 01;35 # door
+BLK 40;33;01 # block device driver
+CHR 40;33;01 # character device driver
+ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
+MISSING 00 # ... and the files they point to
+SETUID 37;41 # file that is setuid (u+s)
+SETGID 30;43 # file that is setgid (g+s)
+CAPABILITY 30;41 # file with capability
+STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
+OTHER_WRITABLE 34;106 # dir that is other-writable (o+w) and not sticky
+STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
+# This is for files with execute permission:
+EXEC 04
+# List any file extensions like '.gz' or '.tar' that you would like ls
+# to colorize below. Put the extension, a space, and the color init string.
+# (and any comments you want to add after a '#')
+# If you use DOS-style suffixes, you may want to uncomment the following:
+#.cmd 01;32 # executables (bright green)
+#.exe 01;32
+#.com 01;32
+#.btm 01;32
+#.bat 01;32
+# Or if you want to colorize scripts even if they do not have the
+# executable bit actually set.
+#.sh 01;32
+#.csh 01;32
+ # archives or compressed (bright red)
+.tar 01;31
+.tgz 01;31
+.arc 01;31
+.arj 01;31
+.taz 01;31
+.lha 01;31
+.lz4 01;31
+.lzh 01;31
+.lzma 01;31
+.tlz 01;31
+.txz 01;31
+.tzo 01;31
+.t7z 01;31
+.zip 01;31
+.z 01;31
+.Z 01;31
+.dz 01;31
+.gz 01;31
+.lrz 01;31
+.lz 01;31
+.lzo 01;31
+.xz 01;31
+.zst 01;31
+.tzst 01;31
+.bz2 01;31
+.bz 01;31
+.tbz 01;31
+.tbz2 01;31
+.tz 01;31
+.deb 01;31
+.rpm 01;31
+.jar 01;31
+.war 01;31
+.ear 01;31
+.sar 01;31
+.rar 01;31
+.alz 01;31
+.ace 01;31
+.zoo 01;31
+.cpio 01;31
+.7z 01;31
+.rz 01;31
+.cab 01;31
+# image formats
+.jpg 01;35
+.jpeg 01;35
+.mjpg 01;35
+.mjpeg 01;35
+.gif 01;35
+.bmp 01;35
+.pbm 01;35
+.pgm 01;35
+.ppm 01;35
+.tga 01;35
+.xbm 01;35
+.xpm 01;35
+.tif 01;35
+.tiff 01;35
+.png 01;35
+.svg 01;35
+.svgz 01;35
+.mng 01;35
+.pcx 01;35
+.mov 01;35
+.mpg 01;35
+.mpeg 01;35
+.m2v 01;35
+.mkv 01;35
+.webm 01;35
+.ogm 01;35
+.mp4 01;35
+.m4v 01;35
+.mp4v 01;35
+.vob 01;35
+.qt 01;35
+.nuv 01;35
+.wmv 01;35
+.asf 01;35
+.rm 01;35
+.rmvb 01;35
+.flc 01;35
+.avi 01;35
+.fli 01;35
+.flv 01;35
+.gl 01;35
+.dl 01;35
+.xcf 01;35
+.xwd 01;35
+.yuv 01;35
+.cgm 01;35
+.emf 01;35
+# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
+.ogv 01;35
+.ogx 01;35
+# audio formats
+.aac 00;36
+.au 00;36
+.flac 00;36
+.m4a 00;36
+.mid 00;36
+.midi 00;36
+.mka 00;36
+.mp3 00;36
+.mpc 00;36
+.ogg 00;36
+.ra 00;36
+.wav 00;36
+# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
+.oga 00;36
+.opus 00;36
+.spx 00;36
+.xspf 00;36
diff --git a/theme/scripts/colors.py b/theme/scripts/colors.py
index e78dd3a..17433be 100644
--- a/theme/scripts/colors.py
+++ b/theme/scripts/colors.py
@@ -7,10 +7,30 @@ import colorsys
 def define(saturation, value):
 
     def showColor(hue):
-        return colorsys.hsv_to_rgb(hue, saturation, value)
+        return colorsys.hsv_to_rgb((1.0 + hue)%1.0, (1.0 + saturation)%1.0, (1.0 + value)%1.0)
 
     return showColor
 
+
+class Hering(object):
+    """ Create the palette with the Hering circle
+    https://fr.wikipedia.org/wiki/Cercle_chromatique#Hering
+    """
+
+    def of_value(self, angle):
+        angle = (angle + 360) % 360
+        if angle < 120:
+            return (angle * 1.5)
+        else:
+            return (180 + (angle - 120) * 0.75)
+
+    def to_value(self, angle):
+        angle = (angle + 360) % 360
+        if angle < 180:
+            return (angle * 2. / 3.)
+        else:
+            return (120 + ((angle - 180) * 4. / 3.))
+
 def showColor(theme, hue):
 
     r, g, b = theme(hue / 360.)
@@ -20,45 +40,50 @@ if __name__ == "__main__":
 
     if len(sys.argv) < 5:
         print "Usage :"
-        print "color.py SHIFT LIGHT_SATURATION DARK_SATURATION LIGHT_VALUE DARK_VALUE ANGLE"
+        print "color.py LIGHT_SATURATION DARK_SATURATION LIGHT_VALUE DARK_VALUE MIN_ANGLE MAX_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])
+    shift = 0
+    light_s = int(sys.argv[1])/100.
+    dark_s =  int(sys.argv[2])/100.
+    light_v = int(sys.argv[3])/100.
+    dark_v =  int(sys.argv[4])/100.
+    angle =   int(sys.argv[5])
+    angle2 =  int(sys.argv[6])
 
     colors = [
 
-        1,    # red
-        3,   # yellow
-        2,   # green
-        6,  # cyan
-        4,  # blue
-        5,  # magenta
+        0,    # red
+        2,   # yellow
+        1,   # green
+        5,  # cyan
+        3,  # blue
+        4,  # magenta
 
     ]
 
+    h = Hering()
+
     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)
+    h_angle = h.of_value(angle)
+    h_angle2 = h.of_value(angle2)
+    delta = (360 + (h_angle2 - h_angle))% 360 / 6.0
     for name in colors:
 
-        value = name * angle
+        value = h.to_value(angle + name * delta)
 
-        dark  = showColor(dark_theme, value - shift)
-        light = showColor(light_theme, value - shift)
+        dark  = showColor(dark_theme, value)
+        light = showColor(light_theme, value)
 
-        print "#define _color%s %s" % (name, dark)
-        print "#define _color%s %s" % (name+8, light)
+        print "#define _color%s %s" % (name+1, dark)
+        print "#define _color%s %s" % (name+9, 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)
+        print "XTerm*color%d : %s" % (name+1, dark)
+        print "XTerm*color%d : %s" % (name+9, light)
 
 
-- 
cgit v1.2.3