ubuntuusers.de

Thunar - Kopieren/Verschieben nach Leiste nebenan

Status: Gelöst | Ubuntu-Version: Xubuntu 24.04 (Noble Numbat)
Antworten |

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3845

Na dann teste mal.

Es muss xdotools und xclip installiert sein.

#!/bin/bash

# Pfad der ausgewählten Datei/Ordner und Dateiname
SOURCE_PATH="$1"
FILENAME=$(basename "$SOURCE_PATH")

# Temporäre Datei für Debug-Ausgaben
DEBUG_LOG="/tmp/thunar_debug.log"

# Funktion zur Überprüfung der aktiven Ansicht
get_current_pane_directory() {
    # Sicherstellen, dass die Adressleiste sichtbar ist
    xdotool key ctrl+l
    xdotool key ctrl+c
    # Inhalt der Adressleiste kopieren
    local address=$(xclip -o -selection clipboard)
    echo "$address"
}

# Funktion zum Wechseln der Ansicht und Ermitteln des Verzeichnisses
get_pane_directory() {
    local pane=$1
    case "$pane" in
        "left")
            # Wechsel zur linken Ansicht
            xdotool key F6
            ;;
        "right")
            # Wechsel zur rechten Ansicht
            xdotool key F6
            ;;
        *)
            echo "Ungültiger Pane-Wert. Verwenden Sie 'left' oder 'right'."
            exit 1
            ;;
    esac
    get_current_pane_directory
}

# Ermitteln des Verzeichnisses der linken Ansicht
echo "Ermitteln des Verzeichnisses der linken Ansicht..."
LEFT_DIR=$(get_pane_directory "left")
if [ -z "$LEFT_DIR" ]; then
    notify-send "Fehler" "Konnte das Verzeichnis der linken Ansicht nicht ermitteln."
    exit 1
fi
echo "Linkes Verzeichnis: $LEFT_DIR" >> $DEBUG_LOG

# Wechsel zur rechten Ansicht
echo "Wechsel zur rechten Ansicht..."
xdotool key F6

# Ermitteln des Verzeichnisses der rechten Ansicht
echo "Ermitteln des Verzeichnisses der rechten Ansicht..."
RIGHT_DIR=$(get_pane_directory "right")
if [ -z "$RIGHT_DIR" ]; then
    notify-send "Fehler" "Konnte das Verzeichnis der rechten Ansicht nicht ermitteln."
    exit 1
fi
echo "Rechtes Verzeichnis: $RIGHT_DIR" >> $DEBUG_LOG

# Debug-Ausgabe der Verzeichnisse
echo "Aktuelles Verzeichnis: $(dirname "$SOURCE_PATH")" >> $DEBUG_LOG

# Zielverzeichnis festlegen
CURRENT_DIR=$(dirname "$SOURCE_PATH")
if [ "$CURRENT_DIR" == "$LEFT_DIR" ]; then
    TARGET_DIR="$RIGHT_DIR"
else
    TARGET_DIR="$LEFT_DIR"
fi

echo "Zielverzeichnis: $TARGET_DIR" >> $DEBUG_LOG

# Überprüfen, ob die Datei oder der Ordner am Zielort bereits existiert
if [ -e "$TARGET_DIR/$FILENAME" ]; then
    notify-send "Fehler" "Eine Datei oder ein Ordner mit dem Namen $FILENAME existiert bereits im Zielverzeichnis."
    exit 1
fi

# Datei oder Ordner verschieben
mv "$SOURCE_PATH" "$TARGET_DIR/$FILENAME"

# Erfolgsmeldung
notify-send "Datei verschoben" "$FILENAME wurde nach $TARGET_DIR verschoben."

Wenns jemand verbessern kann - nur zu. Die Fehlerprüfung hab ich drin gelassen falls sich wer dran versuchen will.

Ich geb an der Stelle auf weil ich nicht weiter komme. Evtl. wäre einen anderen Dateibrowser zu nutzen auch einfacher / sinnvoller.

johst

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2006

Beiträge: 55

Habe die Datei getestet und eine auch für das Kopieren erstellt.

Funktioniert bei mir soweit gut aber "nur" von links nach rechts (wie von dir erwähnt).

Vielen Dank für die Hilfe.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3845

Wenn du links die Seitenleiste ausblendest gehts auch von rechts nach links. 😀

johst

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2006

Beiträge: 55

Die aktuelle Lösung ist zwar nicht perfekt aber für meine Einsatzwünsche

ausreichend. Solltest du @schwarzheit noch Lösungsideen haben... 😉

Vielen Dank!!!

Antworten |