scheme: dynamic light theme

Autodetect based on wallpaper
Also resize wallpaper so faster
And async magick blur so wallpaper doesnt block
This commit is contained in:
2 * r + 2 * t
2025-01-29 18:17:13 +11:00
parent 6f00e65727
commit 5118c8da96
7 changed files with 56 additions and 5 deletions
+29
View File
@@ -0,0 +1,29 @@
#!/bin/python
import sys
import math
from PIL import Image
def calc_size(w, h, b = 128):
ia = w * h
ba = b * b
s = math.sqrt(ba / ia) if ia > ba else 1
return max(1, round(w * s)), max(1, round(h * s))
def resize(img):
w, h = calc_size(img.width, img.height)
if w < img.width or h < img.height:
return img.resize((w, h), Image.Resampling.BICUBIC), True
return img, False
if __name__ == "__main__":
with Image.open(sys.argv[1]) as img:
img, resized = resize(img)
if resized:
img.save("/tmp/caelestia-resize.png")
print("/tmp/caelestia-resize.png")
else:
print(sys.argv[1])