diff --git a/scripts/darktable_common.sh b/scripts/darktable_common.sh index 8d20a06..ad0db12 100644 --- a/scripts/darktable_common.sh +++ b/scripts/darktable_common.sh @@ -83,6 +83,7 @@ log() { } log_step() { + echo "" echo "=== $* ===" } @@ -171,14 +172,15 @@ server_reachable() { ask_user() { local title="$1" text="$2" ans - if command -v zenity &>/dev/null; then + if [ "${DARKTABLE_SYNC_MODE:-}" = "gui" ] && command -v zenity &>/dev/null; then zenity --question --title="$title" --text="$text" 2>/dev/null return $? - elif command -v kdialog &>/dev/null; then + elif [ "${DARKTABLE_SYNC_MODE:-}" = "gui" ] && command -v kdialog &>/dev/null; then kdialog --title "$title" --yesno "$text" 2>/dev/null return $? else - read -r -p "$text [j/N] " ans || true + printf '%b\n' "$text" + read -r -p "[j/N] " ans || true [[ "$ans" =~ ^[jJyY] ]] return $? fi @@ -190,7 +192,7 @@ ask_conflict_resolution() { local TITLE="Darktable Sync – Konflikt" local EXPLAIN="Ein anderer Rechner hat die Datenbank seit deinem letzten Sync verändert.\nDeine lokalen Änderungen wurden noch NICHT auf den Server übertragen.\n\nWas soll passieren?" - if command -v zenity &>/dev/null; then + if [ "${DARKTABLE_SYNC_MODE:-}" = "gui" ] && command -v zenity &>/dev/null; then local choice choice=$(zenity --list \ --title="$TITLE" \ @@ -207,7 +209,7 @@ ask_conflict_resolution() { *) echo "download" ;; esac - elif command -v kdialog &>/dev/null; then + elif [ "${DARKTABLE_SYNC_MODE:-}" = "gui" ] && command -v kdialog &>/dev/null; then local btn btn=$(kdialog --title "$TITLE" \ --menu "$EXPLAIN" \ diff --git a/scripts/darktable_wrapper.sh b/scripts/darktable_wrapper.sh index d119173..cfad26c 100755 --- a/scripts/darktable_wrapper.sh +++ b/scripts/darktable_wrapper.sh @@ -17,6 +17,7 @@ validate_config log "Konfiguration geladen: Server=$SERVER_USER@$SERVER_IP:$SERVER_SSH_PORT" export DISPLAY="${DISPLAY:-:0}" +export DARKTABLE_SYNC_MODE=gui log "Prüfen ob Darktable bereits läuft..." if pgrep -x darktable &>/dev/null; then