lang/latex: refactor default viewer resolution

And add evince to list of auto-detected viewers.

This should fix an issue where preview-pane was used regardless of what
viewer(s) were available.
This commit is contained in:
Henrik Lissner 2019-08-27 00:11:52 -04:00
parent a9b5640d1f
commit 3fae411918
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 36 additions and 34 deletions

View file

@ -1,13 +1,17 @@
;;; lang/latex/+viewers.el -*- lexical-binding: t; -*- ;;; lang/latex/+viewers.el -*- lexical-binding: t; -*-
(catch 'found-viewer ;; fall back pdf previewing to latex-preview-pane
(dolist (viewer +latex-viewers) (add-to-list 'TeX-view-program-selection '(output-pdf "preview-pane") 'append)
(if (pcase viewer (add-to-list 'TeX-view-program-list '("preview-pane" latex-preview-pane-mode))
(dolist (viewer +latex-viewers)
(pcase viewer
(`skim (`skim
(when (and IS-MAC (when (and IS-MAC
(file-exists-p! (or "/Applications/Skim.app" (file-exists-p! (or "/Applications/Skim.app"
"~/Applications/Skim.app"))) "~/Applications/Skim.app")))
(add-to-list 'TeX-view-program-selection '(output-pdf "Skim")))) (add-to-list 'TeX-view-program-selection '(output-pdf "Skim"))))
(`sumatrapdf (`sumatrapdf
(when (and IS-WINDOWS (when (and IS-WINDOWS
(executable-find "SumatraPDF")) (executable-find "SumatraPDF"))
@ -24,6 +28,10 @@
(when (executable-find "zathura") (when (executable-find "zathura")
(add-to-list 'TeX-view-program-selection '(output-pdf "Zathura")))) (add-to-list 'TeX-view-program-selection '(output-pdf "Zathura"))))
(`evince
(when (executable-find "evince")
(add-to-list 'TeX-view-program-selection '(output-pdf "Evince"))))
(`pdf-tools (`pdf-tools
(when (featurep! :tools pdf) (when (featurep! :tools pdf)
(add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools")) (add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
@ -31,13 +39,7 @@
;; PDF Tools isn't in `TeX-view-program-list-builtin' on macs ;; PDF Tools isn't in `TeX-view-program-list-builtin' on macs
(add-to-list 'TeX-view-program-list '("PDF Tools" TeX-pdf-tools-sync-view))) (add-to-list 'TeX-view-program-list '("PDF Tools" TeX-pdf-tools-sync-view)))
;; Update PDF buffers after successful LaTeX runs ;; Update PDF buffers after successful LaTeX runs
(add-hook 'TeX-after-compilation-finished-function #'TeX-revert-document-buffer)))) (add-hook 'TeX-after-compilation-finished-function #'TeX-revert-document-buffer)))))
(throw 'found-viewer t)))
;; fall back to latex-preview-pane
(add-to-list 'TeX-view-program-list '("preview-pane" latex-preview-pane-mode))
(add-to-list 'TeX-view-program-selection '(output-pdf "preview-pane")))
(after! latex-preview-pane (after! latex-preview-pane

View file

@ -11,7 +11,7 @@
enabling unicode symbols in math regions. This requires the unicode-math latex enabling unicode symbols in math regions. This requires the unicode-math latex
package to be installed.") package to be installed.")
(defvar +latex-viewers `(skim sumatrapdf zathura okular pdf-tools) (defvar +latex-viewers '(skim evince sumatrapdf zathura okular pdf-tools)
"A list of enabled latex viewers to use, in this order. If they don't exist, "A list of enabled latex viewers to use, in this order. If they don't exist,
they will be ignored. Recognized viewers are skim, zathura, okular and they will be ignored. Recognized viewers are skim, zathura, okular and
pdf-tools. pdf-tools.