about summary refs log tree commit diff stats
path: root/home-manager/config/lf/commands/scripts/trash
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-05-06 22:10:50 +0200
committerSoispha <soispha@vhack.eu>2023-05-09 19:33:23 +0200
commite24fdf517619e84fbba268b0d90627b185665cd6 (patch)
treefee010c3a92fa0ef9ce22b6b1731a638fd6e9484 /home-manager/config/lf/commands/scripts/trash
parentFix(hm/conf/git): Remove credential cache (diff)
downloadnixos-config-e24fdf517619e84fbba268b0d90627b185665cd6.zip
Refactor(hm/conf/lf): Separate keybindings and commands
Diffstat (limited to 'home-manager/config/lf/commands/scripts/trash')
-rwxr-xr-xhome-manager/config/lf/commands/scripts/trash22
1 files changed, 22 insertions, 0 deletions
diff --git a/home-manager/config/lf/commands/scripts/trash b/home-manager/config/lf/commands/scripts/trash
new file mode 100755
index 00000000..9e2e6aa4
--- /dev/null
+++ b/home-manager/config/lf/commands/scripts/trash
@@ -0,0 +1,22 @@
+#! /usr/bin/env dash
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+# . ~/.local/lib/shell/lib
+. %SHELL_LIBRARY_PATH
+
+trash_output=$(mktmp);
+expected_error_output=$(mktmp);
+
+# try trashy first
+nix run nixpkgs#trashy -- put "$fx" 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
+    printf "%s" "$fx" | tr '\n' ' ' | xargs trash-put;
+fi
+# vim: ft=sh