aboutsummaryrefslogtreecommitdiff
path: root/emacs/.emacs.d/lisp/my
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.emacs.d/lisp/my')
-rw-r--r--emacs/.emacs.d/lisp/my/my-dired.el22
1 files changed, 22 insertions, 0 deletions
diff --git a/emacs/.emacs.d/lisp/my/my-dired.el b/emacs/.emacs.d/lisp/my/my-dired.el
index 21240e1..a2485ab 100644
--- a/emacs/.emacs.d/lisp/my/my-dired.el
+++ b/emacs/.emacs.d/lisp/my/my-dired.el
@@ -105,5 +105,27 @@ With a prefix arg, toggle `my-dired-reverse-sorting' instead."
((equal mode-name "Dired by extension")
(my-dired-sort-by-name)))))
+(defun my-empty-xdg-trash ()
+ "Empty the xdg trash"
+ (interactive)
+ (let* ((xdg-data-dir
+ (directory-file-name
+ (expand-file-name "Trash"
+ (or (getenv "XDG_DATA_HOME")
+ "~/.local/share"))))
+ (trash-files-dir (expand-file-name "files" xdg-data-dir))
+ (trash-info-dir (expand-file-name "info" xdg-data-dir)))
+ (delete-directory trash-files-dir t)
+ (delete-directory trash-info-dir t)))
+
+(defun my-dired-do-delete (&arg)
+ "Trash or (with a prefix arg) delete files."
+ (interactive "P")
+ (if arg
+ (let ((delete-by-moving-to-trash nil))
+ (call-interactively 'dired-do-delete))
+ (call-interactively 'dired-do-delete))
+ )
+
(provide 'my-dired)
;;; my-dired.el ends here