[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21973: 24.5; feature proposal: make dired header clickable
From: |
Stefan Kangas |
Subject: |
bug#21973: 24.5; feature proposal: make dired header clickable |
Date: |
Fri, 22 Oct 2021 17:00:05 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
William Xu <william.xwl@gmail.com> writes:
> Sometimes when we are in some deep directory, it would be really
> convenient to be able to jump to an arbitrary parent directory shown by
> dired header. e.g., a dired header line may be:
>
> /this/is/a/really/long/project/dir/curr:
>
> If i want to open dired with `/this/is/a/really', i could simply click
> at `really', without having to `^' a few times carefully.
>
> I have something like below in my config file. But it should be easy to
> integrate it with `dired-insert-directory' in dired.el.
I didn't read your patch in detail, but the feature sounds like a good
idea. Could you perhaps write it up as a patch?
> ---------------------------------8<-------------------------------------
> (defun xwl-dired-jump-to-parent (event)
> (interactive "e")
> (let (window pos file)
> (save-excursion
> (setq window (posn-window (event-end event))
> pos (posn-point (event-end event)))
> (with-current-buffer (window-buffer window)
> (goto-char pos)
> (when (search-forward "/" (line-end-position) t 1)
> (let ((beg 3)
> (end (point)))
> (dired (buffer-substring beg end))))))))
>
> (defun xwl-dired-make-header-jumpable ()
> "Click on dired header will jump to that directory directly."
> (let ((inhibit-read-only t))
> (save-excursion
> (goto-char (point-min))
> (let ((bound (line-end-position))
> start end)
> (when (search-forward "/" bound t 1)
> (setq start (point))
> (while (search-forward "/" bound t 1)
> (setq end (1- (point)))
> (add-text-properties start end
> `(mouse-face
> highlight
> help-echo "mouse-1: goto here"
> keymap ,(let ((map (make-sparse-keymap)))
> (define-key map [down-mouse-1]
> 'xwl-dired-jump-to-parent)
> map)))
> (setq start (point))))))))
>
> (add-hook 'dired-after-readin-hook 'xwl-dired-make-header-jumpable)
> ---------------------------------8<-------------------------------------
- bug#21973: 24.5; feature proposal: make dired header clickable,
Stefan Kangas <=