blob: bb10ef73932c328f483af742a46332a5f11bf420 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/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
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"
|