aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.local/bin/toggle-scratchpad
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-02 12:16:38 -0500
committerCraig Jennings <c@cjennings.net>2026-06-02 12:16:38 -0500
commit8c32bbbf9fab115dc51afa17c081e0763cbee717 (patch)
tree246b46b53c956cfea07bc9d1c2b81f9f8de53d65 /dotfiles/hyprland/.local/bin/toggle-scratchpad
parent3f370d6c19c83430547d1771b0e6fa669dc7d5c5 (diff)
downloadarchsetup-8c32bbbf9fab115dc51afa17c081e0763cbee717.tar.gz
archsetup-8c32bbbf9fab115dc51afa17c081e0763cbee717.zip
refactor: drop in-repo dotfiles/, move stow tooling to the dotfiles repo
Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated. The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles && make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf). I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
Diffstat (limited to 'dotfiles/hyprland/.local/bin/toggle-scratchpad')
-rwxr-xr-xdotfiles/hyprland/.local/bin/toggle-scratchpad40
1 files changed, 0 insertions, 40 deletions
diff --git a/dotfiles/hyprland/.local/bin/toggle-scratchpad b/dotfiles/hyprland/.local/bin/toggle-scratchpad
deleted file mode 100755
index b3da6b4..0000000
--- a/dotfiles/hyprland/.local/bin/toggle-scratchpad
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-# Toggle a special workspace from waybar click
-# Tracks state to handle focus-loss auto-close issue
-# Usage: toggle-scratchpad <name>
-
-NAME="$1"
-if [ -z "$NAME" ]; then
- echo "Usage: toggle-scratchpad <name>"
- exit 1
-fi
-
-# Auto-detect current Hyprland socket if env var is stale
-if ! hyprctl version >/dev/null 2>&1; then
- # Find the most recent Hyprland instance with a socket
- for dir in /run/user/"$(id -u)"/hypr/*/; do
- if [ -S "${dir}.socket.sock" ]; then
- export HYPRLAND_INSTANCE_SIGNATURE="$(basename "$dir")"
- break
- fi
- done
-fi
-
-STATEFILE="/tmp/scratchpad-$NAME-open"
-NOW=$(date +%s)
-
-# If state file exists and recent, scratchpad was open and just closed by focus loss
-# Don't reopen it - user intended to close
-if [ -f "$STATEFILE" ]; then
- LAST=$(cat "$STATEFILE")
- AGE=$((NOW - LAST))
- rm -f "$STATEFILE"
- if [ "$AGE" -lt 2 ]; then
- # Was just open, user clicked to close - don't reopen
- exit 0
- fi
-fi
-
-# Opening the scratchpad - mark timestamp
-echo "$NOW" > "$STATEFILE"
-hyprctl dispatch togglespecialworkspace "$NAME"