gen_faint.py: change factor to 75% + generate BrightFaint

This commit is contained in:
Boris Faure 2020-11-02 22:54:19 +01:00
parent dc0fe07bc4
commit e2a96be73d
Signed by: borisfaure
GPG Key ID: 35C0410516166BE8
1 changed files with 30 additions and 16 deletions

View File

@ -5,9 +5,9 @@ import configparser
import sys import sys
from ini2desc import parse_color from ini2desc import parse_color
def blend_color(cfg, blend_factor, color_name): def blend_color(cfg, blend_factor, src, dest, color_name):
(r1, g1, b1, a1) = parse_color(cfg.get('Colors', 'bg')) (r1, g1, b1, a1) = parse_color(cfg.get('Colors', 'bg'))
(r2, g2, b2, a2) = parse_color(cfg.get('Normal', color_name)) (r2, g2, b2, a2) = parse_color(cfg.get(src, color_name))
def blend(c1, c2, f): def blend(c1, c2, f):
d = c2 - c1 d = c2 - c1
return int(c1 + d * f) return int(c1 + d * f)
@ -16,10 +16,10 @@ def blend_color(cfg, blend_factor, color_name):
b = blend(b1, b2, blend_factor) b = blend(b1, b2, blend_factor)
a = blend(a1, a2, blend_factor) a = blend(a1, a2, blend_factor)
if a != 255: if a != 255:
cfg.set('Faint', color_name, cfg.set(dest, color_name,
'#{:02x}{:02x}{:02x}{:02x}'.format(r, g, b, a)) '#{:02x}{:02x}{:02x}{:02x}'.format(r, g, b, a))
else: else:
cfg.set('Faint', color_name, cfg.set(dest, color_name,
'#{:02x}{:02x}{:02x}'.format(r, g, b)) '#{:02x}{:02x}{:02x}'.format(r, g, b))
def main(): def main():
@ -28,7 +28,7 @@ def main():
type=argparse.FileType('r'), type=argparse.FileType('r'),
help='INI File to convert') help='INI File to convert')
parser.add_argument('blend_factor', parser.add_argument('blend_factor',
type=int, nargs='?', default=70, type=int, nargs='?', default=75,
help='blend factor between normal color and background') help='blend factor between normal color and background')
args = parser.parse_args() args = parser.parse_args()
@ -42,18 +42,32 @@ def main():
if not cfg.has_section('Faint'): if not cfg.has_section('Faint'):
cfg.add_section('Faint') cfg.add_section('Faint')
if not cfg.has_section('BrightFaint'):
cfg.add_section('BrightFaint')
blend_color(cfg, f, 'def') blend_color(cfg, f, 'Normal', 'Faint', 'def')
blend_color(cfg, f, 'black') blend_color(cfg, f, 'Normal', 'Faint', 'black')
blend_color(cfg, f, 'red') blend_color(cfg, f, 'Normal', 'Faint', 'red')
blend_color(cfg, f, 'green') blend_color(cfg, f, 'Normal', 'Faint', 'green')
blend_color(cfg, f, 'yellow') blend_color(cfg, f, 'Normal', 'Faint', 'yellow')
blend_color(cfg, f, 'blue') blend_color(cfg, f, 'Normal', 'Faint', 'blue')
blend_color(cfg, f, 'magenta') blend_color(cfg, f, 'Normal', 'Faint', 'magenta')
blend_color(cfg, f, 'cyan') blend_color(cfg, f, 'Normal', 'Faint', 'cyan')
blend_color(cfg, f, 'white') blend_color(cfg, f, 'Normal', 'Faint', 'white')
blend_color(cfg, f, 'inverse_fg') blend_color(cfg, f, 'Normal', 'Faint', 'inverse_fg')
blend_color(cfg, f, 'inverse_bg') blend_color(cfg, f, 'Normal', 'Faint', 'inverse_bg')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'def')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'black')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'red')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'green')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'yellow')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'blue')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'magenta')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'cyan')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'white')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'inverse_fg')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'inverse_bg')
cfg.write(sys.stdout) cfg.write(sys.stdout)