66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
#coding:utf-8
|
|
"""
|
|
Author: sir garbagetruck --<>
|
|
Purpose: convert xrdb defs into st array
|
|
Created: 25/01/17
|
|
"""
|
|
|
|
import argparse
|
|
|
|
#----------------------------------------------------------------------
|
|
def main(filename):
|
|
"""the main chunk"""
|
|
|
|
f = open(filename)
|
|
colors = {}
|
|
c2 = {}
|
|
for i in f.readlines():
|
|
(crap,color,rgb)=i.split(' ')
|
|
cbits = color.split('_')
|
|
rgb = rgb.rstrip()
|
|
try:
|
|
idx = int(cbits[1])
|
|
colors[idx] = rgb
|
|
c2[rgb] = idx
|
|
except:
|
|
# print(color)
|
|
if color == 'Background_Color':
|
|
bg = rgb
|
|
if color == 'Cursor_Color':
|
|
cs = rgb
|
|
if color == 'Foreground_Color':
|
|
fg = rgb
|
|
pass
|
|
l = colors.keys()
|
|
for i in l:
|
|
print('"'+colors[i]+'", // '+str(i))
|
|
|
|
x = 256
|
|
|
|
try:
|
|
print("static unsigned int defaultbg = " + str(c2[bg])) +';'
|
|
except:
|
|
print('"'+bg+'", /* bg color */')
|
|
print("static unsigned int defaultbg = " + str(x)) +';'
|
|
x=x+1
|
|
try:
|
|
print("static unsigned int defaultfg = " + str(c2[fg])) +';'
|
|
except:
|
|
print('"'+fg+'", /* fg color */')
|
|
print("static unsigned int defaultfg = " + str(x)) +';'
|
|
x=x+1
|
|
|
|
try:
|
|
print("static unsigned int defaultcs = " + str(c2[cs])) +';'
|
|
except:
|
|
print('"'+cs+'" /* cs color */')
|
|
print("static unsigned int defaultcs = " + str(x)) +';'
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("file",help="the file to read")
|
|
args = parser.parse_args()
|
|
main(args.file)
|