dotfiles/.config/hypr/scripts/rgb_borders
2023-07-04 17:34:58 +02:00

37 lines
No EOL
938 B
Python
Executable file

#!/usr/bin/python
import subprocess
import time
from colour import Color
gradient = [
"#c6a0f6",
"#b7bdf8",
"#8aadf4",
]
def color_range(*args):
l = []
for i,color in enumerate(args):
if i == len(args)-1:
break
l.extend(color.range_to(args[i+1], 25))
return l
def rgb_to_hex(r,g,b):
return '%02x%02x%02x' % (r,g,b)
def set_color(r,g,b):
print(rgb_to_hex(r,g,b))
subprocess.run(f"hyprctl keyword general:col.active_border 0xff{rgb_to_hex(r,g,b)}".split())
#subprocess.run(f"hyprctl keyword general:col.inactive_border 0x66{rgb_to_hex(r,g,b)}".split())
colors = color_range(*[Color(i) for i in gradient])
while 1:
for col in colors:
set_color(int(col.red*255), int(col.green*255), int(col.blue*255))
time.sleep(0.05)
for col in colors[::-1]:
set_color(int(col.red*255), int(col.green*255), int(col.blue*255))
time.sleep(0.05)