I use dired with the variable delete-by-moving-to-trash
set to t
. But sometimes I want to delete a file (or directory) without sending it to trash. Here is how I modified the dired-deletion-commands to toggle their trashing-behavior when called with a prefix.
(defun my/dired-do-flagged-delete (&optional arg) (interactive "P") (let ((delete-by-moving-to-trash (xor arg delete-by-moving-to-trash))) (dired-do-flagged-delete))) (defun my/dired-do-delete (&optional arg) (interactive "P") (let ((delete-by-moving-to-trash (xor arg delete-by-moving-to-trash))) (dired-do-delete)))
All I have to do now is bind these functions to x
and D
in dired-mode-map
Of course after that, the default reaction to prefixes is lost. Personally I don't care, because I never used it. Others might think differently about that.