From e53a90a657614abdafa6828312d2891b4c89895b Mon Sep 17 00:00:00 2001 From: jao Date: Fri, 21 May 2021 06:43:40 +0100 Subject: pdf-tools has a new maintainer --- exwm.org | 3 ++- init.org | 55 +++++++++++++++++++++++++++++++++-------------- lib/eos/jao-minibuffer.el | 12 +++++------ 3 files changed, 46 insertions(+), 24 deletions(-) diff --git a/exwm.org b/exwm.org index 625760d..9ef16c4 100644 --- a/exwm.org +++ b/exwm.org @@ -400,7 +400,8 @@ (defun jao-exwm-select-pdf () (interactive) (if jao-browse-doc-use-emacs-p - (jao-buffer-same-mode 'doc-view-mode #'jao-afio--goto-docs) + (jao-buffer-same-mode '(pdf-view-mode doc-view-mode) + #'jao-afio--goto-docs) (when-let (bs (jao-zathura--buffers)) (let ((infos (mapcar #'jao-zathura--file-info bs))) (when-let (f (completing-read "Document: " (mapcar #'car infos))) diff --git a/init.org b/init.org index a662b1c..7e8ce4c 100644 --- a/init.org +++ b/init.org @@ -662,6 +662,9 @@ '(" %l" (:eval (format "/%d" (line-number-at-pos (point-max)))))) (line-number-mode -1) (column-number-mode 1) + (when (jao-colors-scheme-dark-p) + (setq jao-minibuffer-active-buffer-line-color "lightsteelblue3" + jao-minibuffer-inactive-buffer-line-color "grey30")) (jao-minibuffer-add-mode-line 90) #+end_src *** Mode line time @@ -1110,10 +1113,11 @@ (defun jao-buffer-same-mode (&optional mode pre-fn) (interactive) (let* ((mode (or mode major-mode)) + (modes (if (symbolp mode) (list mode) mode)) (pred `(lambda (b) (let ((b (get-buffer (if (consp b) (car b) b)))) - (and ;; (not (eq b ,(current-buffer))) - (eq ',mode (buffer-local-value 'major-mode b)))))) + (member (buffer-local-value 'major-mode b) + ',modes)))) (buff (read-buffer "Buffer: " nil t pred))) (when pre-fn (funcall pre-fn)) (pop-to-buffer buff))) @@ -1616,8 +1620,17 @@ (jao-load-org "email") #+end_src * PDFs -*** doc-view - #+begin_src emacs-lisp +*** doc-view and pdf-tools + #+begin_src emacs-lisp + ;; this is an ugly hack: when jao-minibuffer is active, + ;; somehow docview scrolling is not triggering a refresh, + ;; specially for scroll down movements, so we advice the + ;; scrolling functions to force a redisplay by going to + ;; another window. + (defun jao--refresh (&rest _rest) + (let ((jao-minibuffer-enabled-p nil)) + (other-window 1) (other-window -1))) + (use-package doc-view :init (setq doc-view-cache-directory "~/.emacs.d/cache/docview" @@ -1627,16 +1640,6 @@ :config - ;; this is an ugly hack: when jao-minibuffer is active, - ;; somehow docview scrolling is not triggering a refresh, - ;; specially for scroll down movements, so we advice the - ;; scrolling functions to force a redisplay by going to - ;; another window. - - (defun jao--refresh (&rest _rest) - (let ((jao-minibuffer-enabled-p nil)) - (other-window 1) (other-window -1))) - (dolist (f '(doc-view-scroll-up-or-next-page doc-view-scroll-down-or-previous-page doc-view-previous-line-or-previous-page @@ -1658,7 +1661,26 @@ ("S" . jao-doc-view-save-session) ("u" . jao-doc-view-visit-url))) - (use-package saveplace-pdf-view :ensure t :demand t :after doc-view) + (use-package pdf-tools + :ensure t + :demand t + :config + (pdf-tools-install) + + (dolist (f '(pdf-view-scroll-up-or-next-page + pdf-view-scroll-down-or-previous-page + pdf-view-previous-line-or-previous-page + pdf-view-next-line-or-next-page)) + (advice-add f :after #'jao--refresh)) + + :diminish ((pdf-view-midnight-minor-mode . "")) + :bind (:map pdf-view-mode-map + (("C-c C-d" . pdf-view-midnight-minor-mode)))) + + (use-package saveplace-pdf-view + :ensure t + :demand t + :after doc-view) #+end_src *** open pdfs #+begin_src emacs-lisp @@ -3318,7 +3340,8 @@ (("n" jao-org-notes-open-or-create "capture note") ("N" jao-org-notes-open "go to note")) "Docs" - (("d" (jao-buffer-same-mode 'docview-mode #'jao-afio--goto-docs) + (("d" (jao-buffer-same-mode '(pdf-view-mode docview-mode) + #'jao-afio--goto-docs) "go to doc") ("D" jao-open-doc "open to doc")) "Packages" diff --git a/lib/eos/jao-minibuffer.el b/lib/eos/jao-minibuffer.el index bd52b30..9c0ecd2 100644 --- a/lib/eos/jao-minibuffer.el +++ b/lib/eos/jao-minibuffer.el @@ -96,15 +96,16 @@ msg (jao-minibuffer--format-msg msg))) -(defconst jao-minibuffer--size - '(:eval (format "/%d" (line-number-at-pos (point-max))))) - (defconst jao-minibuffer--circe '(circe-chat-target (:eval (format " [%d]" (length (circe-channel-nicks)))))) (defvar-local w3m-current-title nil) (defvar-local eww-data nil) +(setq-default mode-line-position + '("%n L%l" + (:eval (format "/%d" (line-number-at-pos (point-max)))))) + (defvar jao-minibuffer--mode-line-format `("%[" (:eval (cond ((derived-mode-p 'gnus-group-mode @@ -117,10 +118,7 @@ "%] %*%+ " (:propertize mode-name face jao-themes-f00) (:propertize ("" minor-mode-alist (vc-mode vc-mode)) face jao-themes-f11) - (:propertize (doc-view-doc-type - mode-line-position - ("%n L%l" ,jao-minibuffer--size)) - face jao-themes-f12) + (:propertize mode-line-position face jao-themes-f12) global-mode-string)) (defvar jao-minibuffer--original-modeline nil) -- cgit v1.2.3