summaryrefslogtreecommitdiffhomepage
path: root/custom/jao-custom-pdf.el
blob: 98a28b19579a575be523f4806bcbb00db7ef4e62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
;; -*- lexical-binding: t -*-

;;;; open pdfs
(use-package saveplace-pdf-view
  :ensure t
  :demand t
  :after doc-view)

(use-package jao-pdf
  :demand t
  :config
  (setq jao-open-doc-fun (jao-d-l 'jao-pdf-open-in-devon 'jao-find-or-open))
  (setq jao-org-open-pdf-fun jao-open-doc-fun))

;;;; doc-view
(use-package doc-view
  :init
  (setq doc-view-cache-directory "~/.emacs.d/cache/docview"
        doc-view-resolution 110
        doc-view-continuous t
        doc-view-conversion-refresh-interval 1
        doc-view-mupdf-use-svg t)
  :hook ((doc-view-mode . jao-doc-session-mark))
  :bind (:map doc-view-mode-map
              ("j" . doc-view-next-line-or-next-page)
              ("J" . doc-view-search-next-match)
              ("k" . doc-view-previous-line-or-previous-page)
              ("K" . doc-view-search-previous-match)
              ("z" . jao-open-with-zathura)))

(use-package jao-doc-session :demand t)

(use-package jao-doc-view
  :demand t
  :bind (:map doc-view-mode-map
              ("b" . jao-doc-view-back)
              ("B" . jao-doc-view-forward)
              ("S" . jao-doc-session-save)
              ("u" . jao-doc-view-visit-url)))

;;;; transient
(defun jao-org-pdf-goto-org-linking ()
  (interactive)
  (jao-org-pdf-goto-org 4))

(jao-transient-major-mode doc-view
  ["Notes"
   ("o" "notes file" jao-org-pdf-goto-org)
   ("O" "notes file, linking" jao-org-pdf-goto-org-linking)]
  ["Navigation"
   ("b" "back jump" jao-doc-view-back)
   ("B" "forward jump" jao-doc-view-back)
   ("u" "visit URL" jao-doc-view-visit-url)]
  ["Slices"
   ("cb" "bounding box" doc-view-set-slice-from-bounding-box)
   ("cm" "using mouse" doc-view-set-slice-using-mouse)]
  ["Session"
   ("s" "load session" jao-afio-open-pdf-session)
   ("S" "save session" jao-doc-session-save)
   ("d" "visit cache directory" doc-view-dired-cache)]
  ["External viewers"
   ("z" "open with zathura" jao-open-with-zathura)])

(with-eval-after-load "pdf-view"
  (jao-transient-major-mode pdf-view
    ["Notes"
     ("o" "notes file" jao-org-pdf-goto-org)
     ("O" "notes file, linking" jao-org-pdf-goto-org-linking)]
    ["Navigation"
     ("b" "back jump" pdf-history-backward)
     ("f" "forward jump" pdf-history-forward)]
    ["Session"
     ("s" "load session" jao-afio-open-pdf-session)
     ("S" "save session" jao-doc-session-save)]
    ["External viewers"
     ("z" "open with zathura" jao-open-with-zathura)]))

;; (transient-get-suffix 'jao-transient-pdf-view '(0 -1))

(provide 'jao-custom-pdf)