mirror of
https://github.com/superschnups/Emy.git
synced 2026-06-21 19:03:17 +00:00
102 lines
5.1 KiB
Bash
102 lines
5.1 KiB
Bash
#!/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 ""
|