diff options
Diffstat (limited to 'home-manager/config/lf/commands/scripts/trash')
-rwxr-xr-x | home-manager/config/lf/commands/scripts/trash | 22 |
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; +[1;31merror:[0m 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 |