diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-15 23:34:43 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-15 23:34:43 -0600 |
| commit | 3d3e03647fa2605facd2b87abf4031e84265bd22 (patch) | |
| tree | 48717d9e9c0cf4471325552ae30569b466876f48 /modules | |
| parent | e809b9e5632ca7fdd0e1b80469d0e478a38c0595 (diff) | |
fix(pdf): move keybindings to eval-after-load, add page-only scrolling
use-package :config for pdf-tools never ran because opening a PDF loads
pdf-view.el (provides 'pdf-view), not pdf-tools.el. Moved keybindings
to with-eval-after-load 'pdf-view. Arrow keys now scroll within page
only; C-up/C-down change pages.
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/pdf-config.el | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/modules/pdf-config.el b/modules/pdf-config.el index c89295bc..5cd3ea71 100644 --- a/modules/pdf-config.el +++ b/modules/pdf-config.el @@ -21,19 +21,30 @@ (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 +;; Keybindings via eval-after-load on 'pdf-view (not 'pdf-tools), because +;; opening a PDF loads pdf-view.el which provides 'pdf-view — it never +;; loads pdf-tools.el, so use-package :config for pdf-tools won't run. +(with-eval-after-load 'pdf-view + (define-key pdf-view-mode-map "M" #'pdf-view-midnight-minor-mode) + (define-key pdf-view-mode-map "m" #'bookmark-set) + (define-key pdf-view-mode-map (kbd "C-=") #'pdf-view-enlarge) + (define-key pdf-view-mode-map (kbd "C--") #'pdf-view-shrink) + (define-key pdf-view-mode-map (kbd "C-c l") #'org-store-link) + (define-key pdf-view-mode-map "z" (lambda () (interactive) (cj/open-file-with-command "zathura"))) + ;; Arrow keys / j,k: scroll within page only (no page change) + (define-key pdf-view-mode-map "j" #'image-next-line) + (define-key pdf-view-mode-map "k" #'image-previous-line) + (define-key pdf-view-mode-map (kbd "<down>") #'image-next-line) + (define-key pdf-view-mode-map (kbd "<up>") #'image-previous-line) + ;; Page change: C-up/C-down go to top of prev/next page + (define-key pdf-view-mode-map (kbd "C-<down>") + (lambda () (interactive) (pdf-view-next-page-command) (image-bob))) + (define-key pdf-view-mode-map (kbd "C-<up>") + (lambda () (interactive) (pdf-view-previous-page-command) (image-eob)))) + ;; ------------------------------ PDF View Restore ----------------------------- ;; restores the last known position on opening a pdf file. |
