2018-02-06 01:07:36 +01:00
|
|
|
;;; tools/pdf/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
2019-07-23 12:44:03 +02:00
|
|
|
(use-package! pdf-tools
|
2018-05-25 00:46:11 +02:00
|
|
|
:mode ("\\.pdf\\'" . pdf-view-mode)
|
2018-02-06 01:07:36 +01:00
|
|
|
:config
|
2018-02-18 20:10:41 -05:00
|
|
|
(unless noninteractive
|
|
|
|
(pdf-tools-install))
|
2018-02-10 00:32:00 -05:00
|
|
|
|
2019-05-30 18:54:58 -07:00
|
|
|
(map! :map pdf-view-mode-map :gn "q" #'kill-current-buffer)
|
2018-06-15 03:32:46 +02:00
|
|
|
|
2019-07-23 00:00:08 +02:00
|
|
|
(defun +pdf-cleanup-windows-h ()
|
2018-06-15 03:32:46 +02:00
|
|
|
"Kill left-over annotation buffers when the document is killed."
|
|
|
|
(when (buffer-live-p pdf-annot-list-document-buffer)
|
|
|
|
(pdf-info-close pdf-annot-list-document-buffer))
|
|
|
|
(when (buffer-live-p pdf-annot-list-buffer)
|
|
|
|
(kill-buffer pdf-annot-list-buffer))
|
|
|
|
(let ((contents-buffer (get-buffer "*Contents*")))
|
|
|
|
(when (and contents-buffer (buffer-live-p contents-buffer))
|
|
|
|
(kill-buffer contents-buffer))))
|
|
|
|
(add-hook! 'pdf-view-mode-hook
|
2019-07-23 00:00:08 +02:00
|
|
|
(add-hook 'kill-buffer-hook #'+pdf-cleanup-windows-h nil t))
|
2018-06-15 03:32:46 +02:00
|
|
|
|
2018-02-06 01:07:36 +01:00
|
|
|
(setq-default pdf-view-display-size 'fit-page)
|
2018-04-12 16:03:48 +02:00
|
|
|
;; Turn off cua so copy works
|
|
|
|
(add-hook! 'pdf-view-mode-hook (cua-mode 0))
|
|
|
|
;; Handle PDF-tools related popups better
|
2018-06-18 02:26:05 +02:00
|
|
|
(set-popup-rule! "^\\*Outline*" :side 'right :size 40 :select nil)
|
2019-01-02 15:16:05 +01:00
|
|
|
;; The next rules are not needed, they are defined in modules/ui/popups/+hacks.el
|
2018-06-18 02:26:05 +02:00
|
|
|
;; (set-popup-rule! "\\*Contents\\*" :side 'right :size 40)
|
|
|
|
;; (set-popup-rule! "* annots\\*$" :side 'left :size 40 :select nil)
|
2019-01-22 19:28:10 -05:00
|
|
|
;; Fix #1107: flickering pdfs when evil-mode is enabled
|
|
|
|
(setq-hook! 'pdf-view-mode-hook evil-normal-state-cursor (list nil)))
|