Files
macropad-itprotech/uninstall.sh
Mohamed Mahjoub 6a419eb3b6 Add SayoDevice support, 15 key pads and theme styles
Second protocol family (8089:000b) behind a new backend seam, 15 key and 3 knob pads, Knobs North plus the style and colour grid, Windows import fix, window resize fix.
2026-10-08 22:14:31 +01:00

43 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Removes MacroPad. Your pad keeps its bindings; they live on the pad itself.
set -euo pipefail
DATA="${XDG_DATA_HOME:-$HOME/.local/share}"
CONF="${XDG_CONFIG_HOME:-$HOME/.config}/macropad"
RULE="/etc/udev/rules.d/60-macropad.rules"
ask() {
local answer=""
if { exec 3</dev/tty; } 2>/dev/null; then
read -r -p " $1 [y/N] " answer <&3 || true
exec 3<&-
fi
case "$answer" in [yY]*) return 0 ;; *) return 1 ;; esac
}
# stop the actions listener if it's running, and don't start it at login
LOCK="${XDG_RUNTIME_DIR:-$HOME/.cache}/macropad-actions.lock"
pid="$(cat "$LOCK" 2>/dev/null || true)"
case "$pid" in ''|*[!0-9]*) pid="" ;; esac
if [ -n "$pid" ] && tr '\0' ' ' < "/proc/$pid/cmdline" 2>/dev/null | grep -q "macropad.*actions"; then
kill "$pid" 2>/dev/null || true
fi
rm -f "${XDG_CONFIG_HOME:-$HOME/.config}/autostart/macropad-actions.desktop"
rm -rf "$DATA/macropad"
rm -f "$HOME/.local/bin/macropad" "$DATA/applications/macropad.desktop" \
"$DATA/icons/hicolor/scalable/apps/macropad.svg"
command -v kbuildsycoca6 >/dev/null && kbuildsycoca6 >/dev/null 2>&1 || true
echo "Removed the app and its menu entry."
if [ -d "$CONF" ] && ask "Also delete the app's memory of what's on your pad ($CONF)?"; then
rm -rf "$CONF"
echo "Deleted $CONF."
fi
if [ -f "$RULE" ] && ask "Also remove the USB permission rule? (asks for your password)"; then
sudo rm -f "$RULE"
sudo udevadm control --reload-rules
echo "Removed $RULE."
fi
echo "Done. The pad keeps working with whatever you last wrote to it."