From a35af6880b0d3c0615d2c09ef8146d14b761dd6f Mon Sep 17 00:00:00 2001
From: Luca Bilke <bilke@tralios.de>
Date: Thu, 16 Nov 2023 14:06:50 +0100
Subject: [PATCH] fix trash-restore script

---
 .local/bin/trash-restore | 31 ++++++++++++++++++++-----------
 1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/.local/bin/trash-restore b/.local/bin/trash-restore
index d44dacab..bf5bef38 100755
--- a/.local/bin/trash-restore
+++ b/.local/bin/trash-restore
@@ -1,4 +1,5 @@
 #!/bin/sh
+
 set -e
 getfsroot() {
 	printf "%s" "$(df "$1" --output=target | tail -1)"
@@ -6,26 +7,34 @@ getfsroot() {
 list() {
 	# 1st arg is trash files directory
 	# 2nd arg is directory to match trash files for
-	[ ! "$(ls -A "$1")" ] && exit 1
+	[ ! "$(command ls -A "$1")" ] && exit 1
 	for file in "$1"/*; do
 		[ "$(head -1 "$file")" = "[Trash Info]" ] &&
-			fpath=$(grep Path "$file" | cut -d '=' -f2) &&
-			echo "$fpath" | grep -qP "^$2/[^/]+$" &&
-			printf "%s %s %s\n" \
+			filepath=$(grep Path "$file" | cut -d '=' -f2) &&
+			echo "$filepath" | grep -qP "^$2/[^/]+$" &&
+			printf "%s %s %s\n" \
 				"$(basename "$file")" \
-				"$fpath" \
+				"$filepath" \
 				"$(date -d "$(grep Date "$file" | cut -d '=' -f2)" +'%x %X')"
 	done
 }
 
-[ -n "$1" ] && dir="$(realpath "$1")" || dir="$(getfsroot "$PWD")"
+if [ -n "$1" ]; then
+	dir="$(realpath "$1")"
+else
+	dir="$(realpath "$PWD")"
+fi
+
 fsroot="$(getfsroot "$dir")"
-[ "$fsroot" = "$(getfsroot "${XDG_DATA_HOME:-$HOME/.local/share}")" ] &&
-	basedir="${XDG_DATA_HOME:-$HOME/.local/share}/Trash" ||
+
+if [ "$fsroot" = "$(getfsroot "${XDG_DATA_HOME:-$HOME/.local/share}")" ]; then
+	basedir="${XDG_DATA_HOME:-$HOME/.local/share}/Trash"
+else
 	basedir="${fsroot}/.Trash"
+fi
 
 sel="$(list "$basedir/info" "$dir" | fzf)"
-file="$basedir/files/$(echo "$sel" | cut -d ' ' -f1)"
-dest="$(echo "$sel" | cut -d ' ' -f2)"
+file="$basedir/files/$(echo "$sel" | cut -d '' -f1)"
+dest="$(echo "$sel" | cut -d '' -f3)"
 command mv -ib "$file" "$dest"
-command rm "$basedir/info/$(echo "$sel" | cut -d ' ' -f1)"
+command rm "$basedir/info/$(echo "$sel" | cut -d '' -f1)"