Skip to content

Commit

Permalink
refactor: remove dirvish-winconf-change-h
Browse files Browse the repository at this point in the history
  • Loading branch information
alexluigit committed Feb 24, 2025
1 parent 9f57250 commit a104ff7
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 26 deletions.
2 changes: 1 addition & 1 deletion dirvish-tramp.el
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ FN is the original `dired-noselect' closure."
(with-current-buffer buf
(dirvish-tramp--ls-parser dir data)
(unless inhibit-setup (run-hooks 'dirvish-setup-hook))
(unless (derived-mode-p 'wdired-mode) (dirvish-update-body-h)))))
(dirvish-update-body-h))))
(dirvish--kill-buffer (process-buffer proc))))

(cl-defmethod dirvish-data-for-dir
Expand Down
34 changes: 11 additions & 23 deletions dirvish.el
Original file line number Diff line number Diff line change
Expand Up @@ -674,9 +674,7 @@ buffer, it defaults to filename under the cursor when it is nil."
(defun dirvish-wdired-enter-a (&rest _)
"Advice for `wdired-change-to-wdired-mode'."
(let (dirvish-hide-cursor) (dirvish--maybe-toggle-cursor 'hollow))
(dirvish--render-attrs 'clear)
(remove-hook 'window-configuration-change-hook #'dirvish-winconf-change-h t)
(remove-hook 'post-command-hook #'dirvish-update-body-h t))
(dirvish--render-attrs 'clear))

(defun dirvish-thumb-buf-a (fn)
"Advice for FN `image-dired-create-thumbnail-buffer'."
Expand Down Expand Up @@ -737,10 +735,9 @@ buffer, it defaults to filename under the cursor when it is nil."
(ansi-color-apply-on-region
(goto-char pos) (progn (forward-line (frame-height)) (point))))

(defun dirvish-update-body-h (&optional force)
"Update UI of current Dirvish.
When FORCE, ensure the preview get refreshed."
(when-let* ((dv (dirvish-curr)))
(defun dirvish-update-body-h ()
"Update UI of current Dirvish."
(when-let* ((dv (dirvish-curr)) ((null (derived-mode-p 'wdired-mode))))
(cond ((not (dirvish--apply-hiding-p dirvish-hide-cursor)))
((eobp) (forward-line -1))
((cdr dired-subdir-alist))
Expand All @@ -752,18 +749,14 @@ When FORCE, ensure the preview get refreshed."
(when-let* ((filename (dired-get-filename nil t)))
(dirvish-prop :index filename)
(let ((h-buf (dirvish--util-buffer 'header dv t))
(f-buf (dirvish--util-buffer 'footer dv t))
(last-index (dirvish-prop :last-index)))
(dirvish-prop :last-index filename)
(f-buf (dirvish--util-buffer 'footer dv t)))
(dirvish-debounce nil
(if (not (dv-curr-layout dv))
(and (< emacs-major-version 29) (force-mode-line-update))
(when (dv-curr-layout dv)
(when (buffer-live-p f-buf)
(with-current-buffer f-buf (force-mode-line-update)))
(when (buffer-live-p h-buf)
(with-current-buffer h-buf (force-mode-line-update)))
(when (or force (not (equal last-index filename)))
(dirvish--preview-update dv filename))))))))
(dirvish--preview-update dv filename)))))))

(defun dirvish-insert-entry-h (entry buffer)
"Add ENTRY or BUFFER name to `dirvish--history'."
Expand All @@ -785,10 +778,6 @@ When FORCE, ensure the preview get refreshed."
(string-match-p (format " ?\\*Dirvish-.*-%s\\*" (dv-id dv)) bn)
do (dirvish--kill-buffer b)))))

(defun dirvish-winconf-change-h ()
"Update UI for dirvish session."
(dirvish-update-body-h 'force-preview-update))

(defun dirvish-winbuf-change-h (window)
"Rebuild layout once buffer in WINDOW changed."
(when-let* ((dv (with-selected-window window (dirvish-curr)))
Expand Down Expand Up @@ -1173,7 +1162,7 @@ Dirvish sets `revert-buffer-function' to this function."
dired-hide-details-hide-symlink-targets nil
dired-kill-when-opening-new-dired-buffer nil)
(add-hook 'window-selection-change-functions #'dirvish--change-selected nil t)
(add-hook 'window-configuration-change-hook #'dirvish-winconf-change-h nil t)
(add-hook 'window-configuration-change-hook #'dirvish-update-body-h nil t)
(add-hook 'window-buffer-change-functions #'dirvish-winbuf-change-h nil t)
(add-hook 'post-command-hook #'dirvish-update-body-h nil t)
(add-hook 'kill-buffer-hook #'dirvish-kill-buffer-h nil t)
Expand Down Expand Up @@ -1286,13 +1275,12 @@ INHIBIT-SETUP is passed to `dirvish-data-for-dir'."

(cl-defgeneric dirvish-data-for-dir (dir buffer inhibit-setup)
"Fetch data for DIR in BUFFER.
It is called when neither `:vc-backend' nor `:remote' is included in
DIRVISH-PROPs, i.e. DIR is in localhost and is not being
It is called when DIR is in localhost and is not being
version-controlled. Run `dirvish-setup-hook' after data parsing unless
INHIBIT-SETUP is non-nil."
(ignore dir buffer)
(unless (derived-mode-p 'wdired-mode) (dirvish-update-body-h))
(unless inhibit-setup (run-hooks 'dirvish-setup-hook)))
(unless inhibit-setup (run-hooks 'dirvish-setup-hook))
(dirvish-update-body-h))

(defun dirvish--window-split-order ()
"Compute the window split order."
Expand Down
4 changes: 2 additions & 2 deletions extensions/dirvish-vc.el
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ It is called when `:vc-backend' is included in DIRVISH-PROPs while
(puthash k orig dirvish--attrs-hash)))
data)
(dirvish-prop :vc-info info)
(unless (derived-mode-p 'wdired-mode) (dirvish-update-body-h))
(unless inhibit-setup (run-hooks 'dirvish-setup-hook)))))
(unless inhibit-setup (run-hooks 'dirvish-setup-hook))
(dirvish-update-body-h))))
(delete-process p)
(dirvish--kill-buffer (process-buffer p)))
nil 'meta (cons buffer inhibit-setup)))
Expand Down

0 comments on commit a104ff7

Please sign in to comment.