42 lines
882 B
Python
Executable file
42 lines
882 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()
|
|
)
|
|
|
|
|
|
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)
|