#!/usr/bin/env bash # Toggles the idle daemon (hypridle) between enabled and disabled. # Hybrid: updates state.json and provides instant feedback. STATE_FILE="$HOME/.config/home-manager/state.json" mkdir -p "$(dirname "$STATE_FILE")" # Initialize if doesn't exist [[ ! -f $STATE_FILE ]] && echo "{}" > "$STATE_FILE" if [[ $NOMARCHY_TOGGLE_IDLE == "false" ]]; then NEW_VALUE="true" setsid hypridle >/dev/null 2>&1 & notify-send -u low "󱫖 Now locking computer when idle" else NEW_VALUE="false" pkill -x hypridle notify-send -u low "󱫖 Stop locking computer when idle" fi TMP_JSON=$(mktemp) jq ".idle = $NEW_VALUE" "$STATE_FILE" > "$TMP_JSON" && mv "$TMP_JSON" "$STATE_FILE" echo "Idle state set to $NEW_VALUE. Environment will be fully updated on next rebuild." pkill -RTMIN+9 waybar # Signal waybar if needed