diff options
Diffstat (limited to 'home-manager/config/lf/commands/scripts/trash')
-rwxr-xr-x | home-manager/config/lf/commands/scripts/trash | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/home-manager/config/lf/commands/scripts/trash b/home-manager/config/lf/commands/scripts/trash index e3a5810b..c666b5eb 100755 --- a/home-manager/config/lf/commands/scripts/trash +++ b/home-manager/config/lf/commands/scripts/trash @@ -6,16 +6,21 @@ SHELL_LIBRARY_VERSION="1.1.3" . %SHELL_LIBRARY_PATH trash_output=$(mktmp); expected_error_output=$(mktmp); -# try trashy first -nix run nixpkgs#trashy -- put "$fx" 2> $trash_output; +while read -r file; do + set -- "$@" "$file" +done < "$(tmp "echo '$fx'")" -cat << EOF > $expected_error_output; +# 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"; [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 +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; + trash-put "$@"; fi # vim: ft=sh |