From dc808512b9ec2fa10d1f134b34a8f31dbc1bdffc Mon Sep 17 00:00:00 2001 From: jao Date: Mon, 29 Aug 2022 20:32:36 +0100 Subject: zathura improvements, and relevant orgs in doc session too --- lib/doc/jao-doc-session.el | 4 ++-- lib/doc/jao-pdf.el | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'lib/doc') diff --git a/lib/doc/jao-doc-session.el b/lib/doc/jao-doc-session.el index 9a3193f..3eee781 100644 --- a/lib/doc/jao-doc-session.el +++ b/lib/doc/jao-doc-session.el @@ -43,14 +43,14 @@ (let ((file (or file jao-doc-session-file))) (jao-doc-session--read-file file))) -(defun jao-doc-session-save (&optional skip-current) +(defun jao-doc-session-save (&optional skip-current force) (interactive) (let ((docs '()) (cb (and skip-current (current-buffer)))) (dolist (b (buffer-list)) (when-let (fn (and (not (eq cb b)) (jao-doc-session-is-doc b))) (add-to-list 'docs fn))) - (when (> (length docs) 0) + (when (or force (> (length docs) 0)) (jao-doc-session--save-to-file jao-doc-session-file docs)))) (defun jao-doc-session--save-session () diff --git a/lib/doc/jao-pdf.el b/lib/doc/jao-pdf.el index 62dfc08..6158306 100644 --- a/lib/doc/jao-pdf.el +++ b/lib/doc/jao-pdf.el @@ -26,6 +26,8 @@ ;; section title of a given page. ;; - Interoperability with zathura. +(require 'jao-doc-session) + ;;; PDF info (declare-function 'pdf-info-outline "pdf-info") @@ -83,6 +85,10 @@ The result is cached as a local buffer variable." (replace-regexp-in-string "[[:blank:]]+" " " cur-title))) ;;; zathura interop +(defun jao-pdf-zathura-open-cmd (file page &optional suffix) + (let ((page (if page (format "-P %s" page) ""))) + (format "zathura %s %s %s" file page (or suffix "")))) + (defun jao-pdf-zathura-file-info (title) (when (string-match "\\(.+\\) \\[\\(.+\\) (\\([0-9]+\\)/\\([0-9]+\\))\\]" title) @@ -104,6 +110,7 @@ The result is cached as a local buffer variable." (let* ((fn (file-name-nondirectory pdf-file)) (desc (jao-pdf-section-title page pdf-file)) (lnk (format "[[doc:%s::%d][%s]]" fn page desc))) + (jao-doc-session-mark) (if (or (not exists) (and (not no-ask) (y-or-n-p "Insert link?"))) (insert lnk "\n") (kill-new lnk) -- cgit v1.2.3