#!/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)