Emy/btt_cleanup.sh
2026-06-17 23:26:21 +02:00

102 lines
5.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# BTT Tabula Rasa Cleanup Script
# Löscht alle alten Datenbankdateien, behält Lizenz und Einstellungen.
# BTT MUSS beendet sein bevor dieses Script läuft!
#
# Ausführen: bash ~/bin/btt_cleanup.sh
BTT_DIR="$HOME/Library/Application Support/BetterTouchTool"
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ BTT CLEANUP Tabula Rasa ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""
# ── Sicherheitscheck: läuft BTT noch? ───────────────────────────────────────
if pgrep -x "BetterTouchTool" > /dev/null; then
echo " ✗ BetterTouchTool läuft noch bitte zuerst beenden!"
echo " killall BetterTouchTool oder Menüleiste → Quit BTT"
echo ""
exit 1
fi
echo " ✓ BetterTouchTool ist nicht aktiv"
echo ""
# ── Was wird gelöscht? ───────────────────────────────────────────────────────
echo " Folgende Dateien werden gelöscht:"
echo " ─────────────────────────────────────────────────────────"
FILES_TO_DELETE=$(find "$BTT_DIR" -maxdepth 1 -name "btt_data_store.*" -type f)
COUNT=0
TOTAL_SIZE=0
while IFS= read -r f; do
SIZE=$(du -sh "$f" 2>/dev/null | cut -f1)
echo " 🗑 $(basename "$f") ($SIZE)"
COUNT=$((COUNT + 1))
done <<< "$FILES_TO_DELETE"
echo ""
echo " Folgende Dateien BLEIBEN erhalten:"
echo " ─────────────────────────────────────────────────────────"
echo " ✓ bettertouchtool.bttlicense"
echo " ✓ btt_usage_v2.plist"
echo " ✓ btt_user_variables.plist"
echo " ✓ floating_menu_variables.plist"
echo " ✓ Backups/"
echo " ✓ PresetBundles/"
echo " ✓ Logs/"
echo ""
if [ $COUNT -eq 0 ]; then
echo " Keine Datenbankdateien gefunden nichts zu tun."
exit 0
fi
# ── Bestätigung ──────────────────────────────────────────────────────────────
echo " $COUNT Datei(en) werden permanent gelöscht."
echo ""
read -p " Fortfahren? (ja/nein): " CONFIRM
if [ "$CONFIRM" != "ja" ]; then
echo ""
echo " Abgebrochen. Nichts wurde gelöscht."
exit 0
fi
# ── Löschen ──────────────────────────────────────────────────────────────────
echo ""
echo " Lösche Datenbankdateien..."
while IFS= read -r f; do
rm "$f" && echo "$(basename "$f")" || echo " ✗ Fehler bei: $(basename "$f")"
done <<< "$FILES_TO_DELETE"
# ── iCloud Sync-Cache prüfen ─────────────────────────────────────────────────
ICLOUD_BTT="$HOME/Library/Mobile Documents/com~apple~CloudDocs/Library/Application Support/BetterTouchTool"
if [ -d "$ICLOUD_BTT" ]; then
echo ""
echo " ──────────────────────────────────────────────────────"
echo " ⚠ iCloud BTT-Ordner gefunden:"
echo " $ICLOUD_BTT"
ICLOUD_COUNT=$(find "$ICLOUD_BTT" -name "btt_data_store.*" | wc -l | tr -d ' ')
echo " $ICLOUD_COUNT Datenbankdateien in iCloud"
echo ""
read -p " iCloud-Datenbanken auch löschen? (ja/nein): " ICLOUD_CONFIRM
if [ "$ICLOUD_CONFIRM" = "ja" ]; then
find "$ICLOUD_BTT" -name "btt_data_store.*" -type f -delete
echo " ✓ iCloud-Datenbanken gelöscht"
else
echo " iCloud übersprungen BTT könnte die alte DB von dort zurückspielen!"
fi
fi
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ Fertig! Nächste Schritte: ║"
echo "║ ║"
echo "║ 1. BetterTouchTool starten ║"
echo "║ → BTT erstellt eine frische, leere Datenbank ║"
echo "║ 2. File → Import Preset → dein .bttpreset Backup ║"
echo "║ → Alle Shortcuts sind wieder da, keine Duplikate ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""