summaryrefslogtreecommitdiffhomepage
path: root/lib/doc/jao-pdf.el
diff options
context:
space:
mode:
Diffstat (limited to 'lib/doc/jao-pdf.el')
-rw-r--r--lib/doc/jao-pdf.el47
1 files changed, 8 insertions, 39 deletions
diff --git a/lib/doc/jao-pdf.el b/lib/doc/jao-pdf.el
index 5d27048..0a1734f 100644
--- a/lib/doc/jao-pdf.el
+++ b/lib/doc/jao-pdf.el
@@ -1,6 +1,6 @@
;;; jao-pdf.el --- utilities for pdf files -*- lexical-binding: t; -*-
-;; Copyright (C) 2022, 2025 jao
+;; Copyright (C) 2022, 2025, 2026 jao
;; Author: jao <mail@jao.io>
;; Keywords: docs
@@ -27,10 +27,13 @@
;; - Interoperability with zathura.
(require 'jao-doc-session)
+(require 'jao-afio)
+(require 'browse-url)
;;; PDF info
(declare-function 'pdf-info-outline "pdf-info")
+(defvar jao-pdf-org-dir nil)
(defvar-local jao-pdf--outline nil)
@@ -56,7 +59,7 @@
(setq-local jao-pdf--outline (doc-view--pdf-outline file-name)))
(let ((page (or page
(and (derived-mode-p 'doc-view-mode) (doc-view-current-page))
- (and (derived-mode-p 'pdf-view) (pdf-view-current-page))))
+ (and (fboundp 'pdf-view-current-page) (pdf-view-current-page))))
(outline jao-pdf--outline)
(cur-page 0)
(cur-title (jao-pdf-title (or file-name buffer-file-name "title"))))
@@ -91,21 +94,11 @@
(fn (file-name-nondirectory file))
(lnk (format "doc:%s::%s" fn page))
(desc (format "%s (p. %s)" (jao-pdf-section-title page file) no)))
- (org-make-link-string lnk desc)))
+ (org-link-make-string lnk desc)))
(defun jao-pdf-zathura-org-link (title)
(jao-pdf--zathura-link (jao-pdf-zathura-file-info title)))
-(defun jao-zathura-open (file page)
- (let ((id (jao-x11-search-window (jao-pdf-zathura-title-rx file))))
- (if (string-blank-p id)
- (progn
- (when jao-xmonad-enabled (jao-x11-goto-ws 2))
- (jao-shell-exec (jao-pdf-zathura-open-cmd file page)))
- (let* ((page (if page (format " && xdotool type %dg" page) ""))
- (cmd (format "xdotool windowactivate %s%s" id page)))
- (jao-shell-exec cmd t)))))
-
;;; Mac
(when (eq system-type 'darwin)
@@ -115,7 +108,7 @@
(file (file-name-nondirectory (car fp)))
(page (cadr fp))
(lnk (format "doc:%s::%s" file page)))
- (org-make-link-string lnk title)))
+ (org-link-make-string lnk title)))
(defun jao-pdf-insert-skim-org-link ()
(interactive)
@@ -127,27 +120,11 @@
;;; Open doc functions
(defvar jao-pdf-open-in-emacs t)
-(defun jao-find-or-open (file &optional page height)
- (cond ((and jao-pdf-open-in-emacs window-system)
- (let* ((buffs (buffer-list))
- (b (catch 'done
- (while buffs
- (when (string-equal (buffer-file-name (car buffs)) file)
- (throw 'done (car buffs)))
- (setq buffs (cdr buffs))))))
- (jao-afio-goto-docs)
- (if b (pop-to-buffer b) (find-file file))
- (when page (jao-doc-view-goto-page page height))))
- (jao-river-enabled (jao-river-open-with-zathura file page))
- (jao-sway-enabled (jao-sway-open-with-zathura file page))
- ((eq system-type 'darwin) (jao-mac-open-in-skim file page))
- (t (jao-zathura-open file page))))
-
(defun jao-open-doc (&optional file page height)
(interactive)
(when-let* ((file (or file
(read-file-name "Document: "
- (concat jao-org-dir "/doc/")))))
+ (concat jao-pdf-org-dir "/doc/")))))
(funcall jao-open-doc-fun file page height)))
(defun jao-select-pdf ()
@@ -155,14 +132,6 @@
(jao-buffer-same-mode '(pdf-view-mode doc-view-mode org-mode)
#'jao-afio-goto-docs))
-(defun jao-open-with-zathura ()
- (interactive)
- (when-let* ((f buffer-file-name))
- (let ((p (jao-doc-view-current-page)))
- (cond (jao-river-enabled (jao-river-open-with-zathura f p))
- (jao-sway-enabled (jao-sway-open-with-zathura f p))
- (t (jao-zathura-open f p))))))
-
;;; doc:// links for browse-url
(defun jao-open-doc-url (url &rest _)