summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.local/bin/toggle-scratchpad
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-06 10:14:33 -0600
committerCraig Jennings <c@cjennings.net>2026-02-06 10:14:33 -0600
commitbc436988442c2d7e5b405f3670f43e33dfebdbbd (patch)
tree0c26b8b8a7947fec4f2df6491ef7bab9b9af9957 /dotfiles/hyprland/.local/bin/toggle-scratchpad
parent32d08f9cbef94bd777b72c4e96a58a88c35dcfdf (diff)
feat(hyprland): waybar scratchpad toggles, remove hy3, fix cursor warp
Waybar modules now toggle pyprland scratchpads on click: sysmonitor group opens btop, netspeed opens nmtui, pulseaudio opens pulsemixer. Consolidated pyprland config to canonical ~/.config/pypr/config.toml. Removed hy3 plugin from all configs and scripts (disabled since crash). Added $mod+N for network scratchpad. Set cursor:no_warps to prevent cursor jumping to window center on focus change.
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"