about summary refs log tree commit diff stats
path: root/hm/soispha/conf/lf/commands/scripts/trash
diff options
context:
space:
mode:
Diffstat (limited to 'hm/soispha/conf/lf/commands/scripts/trash')
-rwxr-xr-xhm/soispha/conf/lf/commands/scripts/trash26
1 files changed, 26 insertions, 0 deletions
diff --git a/hm/soispha/conf/lf/commands/scripts/trash b/hm/soispha/conf/lf/commands/scripts/trash
new file mode 100755
index 00000000..8dd6033d
--- /dev/null
+++ b/hm/soispha/conf/lf/commands/scripts/trash
@@ -0,0 +1,26 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+trash_output=$(mktmp);
+expected_error_output=$(mktmp);
+
+while read -r file; do
+    set -- "$@" "$file"
+done < "$(tmp "echo '$fx'")"
+
+# TODO: why are we using trashy at all, when trash-cli can do everything?
+# try trashy first, trough nix because both trashy and trash-cli provide a trash command, which conflicts
+nix run nixpkgs#trashy -- put "$@" 2> "$trash_output";
+
+cat << EOF > "$expected_error_output";
+error: Error during a \`trash\` operation: Unknown { description: "Path: '\"/.Trash-1000\"'. Message: Permission denied (os error 13)" }
+EOF
+
+if [ "$(cat "$expected_error_output")" = "$(cat "$trash_output")" ];then
+    warning "Deleting with trash-cli to the /.Trash folder";
+    # this file could not be trashed because it is on the tempfs volume, trash-cli can do this this
+    trash-put "$@";
+fi
+# vim: ft=sh