From bc436988442c2d7e5b405f3670f43e33dfebdbbd Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 6 Feb 2026 10:14:33 -0600 Subject: 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. --- dotfiles/hyprland/.local/bin/toggle-scratchpad | 40 -------------------------- 1 file changed, 40 deletions(-) delete mode 100755 dotfiles/hyprland/.local/bin/toggle-scratchpad (limited to 'dotfiles/hyprland/.local/bin/toggle-scratchpad') 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="$1" -if [ -z "$NAME" ]; then - echo "Usage: toggle-scratchpad " - 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" -- cgit v1.2.3