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.