Files
arch-system-hyprland/03-user/dotfiles/.config/waybar/scripts/hyprsunset.sh
T
2026-07-02 15:56:21 +02:00

64 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Waybar Hyprsunset Module Script
# Place this in ~/.config/waybar/scripts/hyprsunset.sh
# Make executable: chmod +x ~/.config/waybar/scripts/hyprsunset.sh
TEMP=3500 # Default temperature when enabled
STATE_FILE="/tmp/hyprsunset_state"
# Initialize state file if it doesn't exist
if [ ! -f "$STATE_FILE" ]; then
echo "disabled" > "$STATE_FILE"
fi
get_status() {
# Check if hyprsunset is currently active
if [ -f "$STATE_FILE" ]; then
state=$(cat "$STATE_FILE" 2>/dev/null)
if [ "$state" = "enabled" ]; then
echo "enabled"
else
echo "disabled"
fi
else
echo "disabled"
fi
}
toggle_hyprsunset() {
current_status=$(get_status)
if [ "$current_status" = "enabled" ]; then
# Disable hyprsunset
hyprctl hyprsunset identity
echo "disabled" > "$STATE_FILE"
else
# Enable hyprsunset
hyprctl hyprsunset temperature "$TEMP"
echo "enabled" > "$STATE_FILE"
fi
# Signal Waybar to update the module
pkill -SIGRTMIN+8 waybar
}
output_json() {
status=$(get_status)
if [ "$status" = "enabled" ]; then
printf '{"text":"","tooltip":"Sunset: ON (%sK)","class":"enabled"}\n' "$TEMP"
else
printf '{"text":"","tooltip":"Sunset: OFF","class":"disabled"}\n'
fi
}
case "$1" in
"toggle")
toggle_hyprsunset
;;
*)
output_json
;;
esac