Files
Nomarchy/features/scripts/utils/nomarchy-hyprland-window-gaps-toggle
Bernardo Magri dc3346bc55
Some checks failed
Check / eval-and-lint (push) Has been cancelled
feat: implement hybrid declarative state with automatic Nix sync
2026-05-31 20:09:12 +01:00

31 lines
842 B
Bash
Executable File

#!/usr/bin/env bash
set -e
# Toggles the window gaps globally between no gaps and the default 10/5/2, declaratively and instantly.
STATE_DIR="$HOME/.config/nomarchy"
STATE_FILE="$STATE_DIR/state.json"
mkdir -p "$STATE_DIR"
if [ ! -f "$STATE_FILE" ]; then
echo "{}" > "$STATE_FILE"
fi
gaps=$(jq -r '.hyprland.gaps_out // 10' "$STATE_FILE")
if [[ $gaps == "0" ]]; then
NEW_STATE='{"gaps_out": 10, "gaps_in": 5, "border_size": 2}'
hyprctl keyword general:gaps_out 10
hyprctl keyword general:gaps_in 5
hyprctl keyword general:border_size 2
else
NEW_STATE='{"gaps_out": 0, "gaps_in": 0, "border_size": 0}'
hyprctl keyword general:gaps_out 0
hyprctl keyword general:gaps_in 0
hyprctl keyword general:border_size 0
fi
nomarchy-state-write hyprland "$NEW_STATE" --type json
echo "Toggled gaps to $NEW_STATE declaratively."