#!/bin/bash

# omarchy:summary=Apply the current theme keyboard color to Framework Laptop 16 keyboards
# omarchy:hidden=true

FRAMEWORK16_THEME=$HOME/.local/state/omarchy/current/theme/keyboard.rgb

if omarchy-cmd-present qmk_hid && [[ -f $FRAMEWORK16_THEME ]]; then
  hex=$(cat "$FRAMEWORK16_THEME")
  hex="${hex#\#}"

  [[ $hex =~ ^[0-9A-Fa-f]{6}$ ]] || exit 0

  # Convert hex to QMK HSV (0-255 scale) using Python's colorsys
  read -r h s <<< $(python3 -c "
import sys, colorsys
hex = sys.argv[1]
r, g, b = int(hex[:2],16)/255, int(hex[2:4],16)/255, int(hex[4:6],16)/255
h, s, v = colorsys.rgb_to_hsv(r, g, b)
print(int(h * 255), int(s * 255))
" "$hex")

  qmk_hid via --rgb-effect 1 2>/dev/null
  qmk_hid via --rgb-hue "$h" 2>/dev/null
  qmk_hid via --rgb-saturation "$s" 2>/dev/null
  qmk_hid via --rgb-brightness 100 2>/dev/null
  qmk_hid via --save 2>/dev/null
fi
