- FileTable(DataTable): links/rechts fuer Datei-Manager-Navigation umgebunden (links = eine Ebene hoch, rechts = Ordner oeffnen); zuvor verschluckte das DataTable-Widget die Tasten - _selected(): liefert jetzt die Klartext-Zeichenkette statt rich.Text-Objekt (behob AttributeError beim Oeffnen/Enter) - action_focus_next(): Tab wechselt zuverlaessig zwischen lokalem und entferntem Paneel (statt unzuverlaessigem focus_next) - install.sh / uninstall.sh: systemweite Installation (PEP-668-konform via /opt/ftptui/venv + /usr/local/bin/ftptui)
62 lines
1.5 KiB
Bash
Executable File
62 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
#
|
||
# ftptui – Deinstallations-Skript (systemweit)
|
||
#
|
||
# Entfernt die systemweite Installation (venv unter /opt/ftptui und den
|
||
# Einstiegspunkt /usr/local/bin/ftptui).
|
||
#
|
||
# Verwendung:
|
||
# ./uninstall.sh # entfernt das Paket (Nutzdaten bleiben)
|
||
# ./uninstall.sh --purge # entfernt zusätzlich die Konfigurationsdateien
|
||
#
|
||
set -euo pipefail
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
APP_NAME="ftptui"
|
||
VENV_DIR="/opt/ftptui/venv"
|
||
BIN_LINK="/usr/local/bin/$APP_NAME"
|
||
|
||
PURGE=0
|
||
for arg in "$@"; do
|
||
case "$arg" in
|
||
--purge|-p) PURGE=1 ;;
|
||
-h|--help) echo "Verwendung: $0 [--purge]"; exit 0 ;;
|
||
*) echo "Unbekanntes Argument: $arg"; exit 1 ;;
|
||
esac
|
||
done
|
||
|
||
run_sudo() {
|
||
if [ "$(id -u)" -eq 0 ]; then
|
||
"$@"
|
||
else
|
||
sudo "$@"
|
||
fi
|
||
}
|
||
|
||
echo "==> ftptui Deinstallations-Skript"
|
||
|
||
if [ -x "$BIN_LINK" ] || [ -d "$VENV_DIR" ]; then
|
||
echo "==> Entferne systemweite Installation ..."
|
||
run_sudo rm -f "$BIN_LINK"
|
||
run_sudo rm -rf /opt/ftptui
|
||
echo "==> Entfernt: $BIN_LINK und $VENV_DIR"
|
||
else
|
||
echo "==> Keine systemweite Installation gefunden (kein $BIN_LINK / $VENV_DIR)."
|
||
fi
|
||
|
||
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/ftptui"
|
||
if [ "$PURGE" -eq 1 ]; then
|
||
if [ -e "$CONFIG_DIR" ]; then
|
||
rm -rf "$CONFIG_DIR"
|
||
echo "==> Konfigurationsverzeichnis entfernt: $CONFIG_DIR"
|
||
else
|
||
echo "==> Kein Konfigurationsverzeichnis gefunden."
|
||
fi
|
||
else
|
||
echo "==> Nutzdaten (Verbindungsprofile) bleiben erhalten: $CONFIG_DIR"
|
||
echo " (mit --purge werden auch diese entfernt)"
|
||
fi
|
||
|
||
echo
|
||
echo "Deinstallation abgeschlossen."
|