Dotfiles/desktopenvs/hyprland/scripts/deprecated/hyprland-toggle-touchpad.sh...

41 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
# Detect touchpad name dynamically
TOUCHPAD_NAME=$(hyprctl devices | awk '/type: touchpad/{getline; print $2; exit}')
TOUCHPAD_KEYWORD="device:${TOUCHPAD_NAME}:enabled"
# Functions
enable_touchpad() {
printf "true" >"$STATUS_FILE"
notify-send -u normal "Touchpad Enabled"
hyprctl keyword "$TOUCHPAD_KEYWORD" "true" -r
}
disable_touchpad() {
printf "false" >"$STATUS_FILE"
notify-send -u normal "Touchpad Disabled"
hyprctl keyword "$TOUCHPAD_KEYWORD" "false" -r
}
# Get current state from Hyprland (1 = enabled, 0 = disabled)
CURRENT_STATE=$(hyprctl getoption "$TOUCHPAD_KEYWORD" | grep "int:" | awk '{print $2}')
# Initialize status file if missing
if ! [ -f "$STATUS_FILE" ]; then
if [ "$CURRENT_STATE" -eq 1 ]; then
printf "true" >"$STATUS_FILE"
else
printf "false" >"$STATUS_FILE"
fi
fi
# Toggle based on status file
if [ "$(cat "$STATUS_FILE")" = "true" ]; then
disable_touchpad
else
enable_touchpad
fi