summaryrefslogtreecommitdiff
path: root/modules/pdf-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-10-12 11:47:26 -0500
committerCraig Jennings <c@cjennings.net>2025-10-12 11:47:26 -0500
commit092304d9e0ccc37cc0ddaa9b136457e56a1cac20 (patch)
treeea81999b8442246c978b364dd90e8c752af50db5 /modules/pdf-config.el
changing repositories
Diffstat (limited to 'modules/pdf-config.el')
-rw-r--r--modules/pdf-config.el59
1 files changed, 59 insertions, 0 deletions
diff --git a/modules/pdf-config.el b/modules/pdf-config.el
new file mode 100644
index 00000000..c89295bc
--- /dev/null
+++ b/modules/pdf-config.el
@@ -0,0 +1,59 @@
+;;; pdf-config --- PDF Viewer Setup -*- lexical-binding: t; coding: utf-8; -*-
+;; author Craig Jennings <c@cjennings.net>
+
+;;; Commentary:
+
+;;; Code:
+
+;; --------------------------------- PDF Tools ---------------------------------
+
+(use-package pdf-tools
+ :defer t
+ :mode (("\\.pdf\\'" . pdf-view-mode))
+ :hook
+ (pdf-view-mode . pdf-view-midnight-minor-mode)
+ :custom
+ (pdf-view-display-size 'fit-page)
+ (pdf-view-resize-factor 1.1)
+ (pdf-view-midnight-colors '("#F1D5AC" . "#0F0E06")) ;; fg . bg
+ ;; Avoid searching for unicodes to speed up pdf-tools.
+ ;; ... and yes, 'ligther' is not a typo
+ (pdf-view-use-unicode-ligther nil)
+ ;; Enable HiDPI support, at the cost of memory.
+ (pdf-view-use-scaling t)
+ :bind
+ (:map pdf-view-mode-map
+ ("M" . pdf-view-midnight-minor-mode)
+ ("m" . bookmark-set)
+ ("C-=" . pdf-view-enlarge)
+ ("C--" . pdf-view-shrink)
+ ("C-c l" . org-store-link)
+ ("z" . (lambda () (interactive) (cj/open-file-with-command "zathura")))
+ ("j" . pdf-view-next-line-or-next-page)
+ ("k" . pdf-view-previous-line-or-previous-page))
+ :config
+ (pdf-tools-install :no-query)) ;; automatically compile on first launch
+
+;; ------------------------------ PDF View Restore -----------------------------
+
+;; restores the last known position on opening a pdf file.
+(use-package pdf-view-restore
+ :after pdf-tools
+ :defer 1
+ :hook
+ (pdf-view-mode . pdf-view-restore-mode)
+ :config
+ (setq pdf-view-restore-filename (concat user-emacs-directory "/.pdf-view-restore")))
+
+;; --------------------------- PDF Continuous Scroll ---------------------------
+
+;; Note: This appears to behave badly in conjunction with org-noter
+;; provides continuous scrolling of PDF documents in PDF View
+;; (use-package pdf-continuous-scroll-mode
+;; :ensure nil ;; in custom folder
+;; :after pdf-tools
+;; :load-path "custom/pdf-continuous-scroll-mode-latest.el"
+;; :hook (pdf-view-mode . pdf-continuous-scroll-mode))
+
+(provide 'pdf-config)
+;;; pdf-config.el ends here.