emacs/dired: fix ranger oddities
Added two hacks to fix two obnoxious issues Ranger has, having to do with it failing to clean up after itself. In particular: 1. A left over mouse-1 bind that traps focus in a particular window (easy to get around with keyboard-based window switch commands, but this renders the mouse useless), 2. And the lingering ranger header bar (i.e. it doesn't clean up header-line-format). This commit also ensures Deer overrides dired if +ranger is enabled.
This commit is contained in:
parent
e76765e0b8
commit
ed69d580fb
1 changed files with 24 additions and 6 deletions
|
@ -72,21 +72,39 @@
|
|||
:after dired
|
||||
:init
|
||||
;; set up image-dired to allow picture resize
|
||||
(setq image-dired-dir (concat doom-cache-dir "image-dir"))
|
||||
(setq image-dired-dir (concat doom-cache-dir "image-dir")
|
||||
ranger-override-dired t)
|
||||
:config
|
||||
(unless (file-directory-p image-dired-dir)
|
||||
(make-directory image-dired-dir))
|
||||
|
||||
(set-popup-rule! "^\\*ranger" :ignore t)
|
||||
|
||||
(setq ranger-override-dired t
|
||||
ranger-cleanup-on-disable t
|
||||
ranger-omit-regexp "^\.DS_Store$"
|
||||
(defun +dired*cleanup-header-line ()
|
||||
"Ranger fails to clean up `header-line-format' when it is closed, so..."
|
||||
(dolist (buffer (buffer-list))
|
||||
(when (buffer-live-p buffer)
|
||||
(with-current-buffer buffer
|
||||
(when (equal header-line-format '(:eval (ranger-header-line)))
|
||||
(setq header-line-format nil))))))
|
||||
(advice-add #'ranger-revert :before #'+dired*cleanup-header-line)
|
||||
|
||||
(defun +dired*cleanup-mouse1-bind ()
|
||||
"Ranger binds an anonymous function to mouse-1 after previewing a buffer
|
||||
that prevents the user from escaping the window with the mouse. This command is
|
||||
never cleaned up if the buffer already existed before ranger was initialized, so
|
||||
we have to clean it up ourselves."
|
||||
(when (window-live-p ranger-preview-window)
|
||||
(with-current-buffer (window-buffer ranger-preview-window)
|
||||
(local-unset-key [mouse-1]))))
|
||||
(advice-add #'ranger-setup-preview :after #'+dired*cleanup-mouse1-bind)
|
||||
|
||||
(setq ranger-cleanup-on-disable t
|
||||
ranger-excluded-extensions '("mkv" "iso" "mp4")
|
||||
ranger-deer-show-details nil
|
||||
ranger-deer-show-details t
|
||||
ranger-max-preview-size 10
|
||||
ranger-show-literal nil
|
||||
dired-omit-verbose nil))
|
||||
ranger-hide-cursor nil))
|
||||
|
||||
|
||||
(def-package! all-the-icons-dired
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue