summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el1
-rw-r--r--lisp/km-dired.el9
2 files changed, 10 insertions, 0 deletions
diff --git a/init.el b/init.el
index 9c8cf9f..0c0b679 100644
--- a/init.el
+++ b/init.el
@@ -1281,6 +1281,7 @@
#'dired-copy-filename-as-kill)
(after 'dired
+ (define-key dired-mode-map "N" #'km/dired-touch-deref)
;; This overrides the default binding for `dired-copy-filename-as-kill'.
(define-key dired-mode-map "w" #'km/dired-copy-filename-map)
(bind-keys :map dired-mode-map
diff --git a/lisp/km-dired.el b/lisp/km-dired.el
index bbd38e6..148d376 100644
--- a/lisp/km-dired.el
+++ b/lisp/km-dired.el
@@ -20,6 +20,7 @@
;;; Code:
+(require 'dash)
(require 'dired)
(require 'org)
(require 'km-util)
@@ -75,6 +76,14 @@
flag))
(replace-match "" t nil nil 1)))
+;;;###autoload
+(defun km/dired-touch-deref (&optional arg)
+ "Run 'touch -h' on makred files (or next ARG)."
+ (interactive "p")
+ (setq arg (and current-prefix-arg arg))
+ (--when-let (dired-get-marked-files nil arg)
+ (apply #'call-process "touch" nil nil nil "-h" it)))
+
;;; Copying file names