Allow persistant accent color

This commit is contained in:
Eric
2025-12-07 21:44:32 -05:00
parent 1c8339df10
commit 0645200807
2 changed files with 16 additions and 3 deletions
@@ -138,6 +138,7 @@ Singleton {
}
property JsonObject palette: JsonObject {
property string type: "auto" // Allowed: auto, scheme-content, scheme-expressive, scheme-fidelity, scheme-fruit-salad, scheme-monochrome, scheme-neutral, scheme-rainbow, scheme-tonal-spot
property string accentColor: ""
}
}
@@ -319,6 +319,12 @@ main() {
get_type_from_config() {
jq -r '.appearance.palette.type' "$SHELL_CONFIG_FILE" 2>/dev/null || echo "auto"
}
get_accent_color_from_config() {
jq -r '.appearance.palette.accentColor' "$SHELL_CONFIG_FILE" 2>/dev/null || echo ""
}
set_accent_color_in_config() {
jq --arg c "$1" '.appearance.palette.accentColor = $c' "$SHELL_CONFIG_FILE" > "$SHELL_CONFIG_FILE.tmp" && mv "$SHELL_CONFIG_FILE.tmp" "$SHELL_CONFIG_FILE"
}
detect_scheme_type_from_image() {
local img="$1"
@@ -338,12 +344,11 @@ main() {
shift 2
;;
--color)
color_flag="1"
if [[ "$2" =~ ^#?[A-Fa-f0-9]{6}$ ]]; then
color="$2"
set_accent_color_in_config "$2"
shift 2
else
color=$(hyprpicker --no-fancy)
set_accent_color_in_config $(hyprpicker --no-fancy)
shift
fi
;;
@@ -365,6 +370,13 @@ main() {
esac
done
# If accentColor is set in config, use it
config_color="$(get_accent_color_from_config)"
if [[ "$config_color" =~ ^#?[A-Fa-f0-9]{6}$ ]]; then
color_flag="1"
color="$config_color"
fi
# If type_flag is not set, get it from config
if [[ -z "$type_flag" ]]; then
type_flag="$(get_type_from_config)"