diff options
| author | Rafael Beirigo <816499+rafaelbeirigo@users.noreply.github.com> | 2025-12-28 14:58:37 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-28 23:28:37 +0530 |
| commit | 1cde7b311d55b778bb4c6886993b8e57a7e6b105 (patch) | |
| tree | 2e05139add48b59abf13e686a59bf9e326608753 | |
| parent | f91072e76adb885f842b3a088c25cc6a919931fe (diff) | |
feat: add option to display page labels in mode line
Add two new customization options:
- `pdf-view-mode-line-position-prefix`: customize the page prefix (default: "P")
- `pdf-view-mode-line-position-use-labels`: show page labels instead of numbers
When enabled, displays PDF page labels (Roman numerals, section
numbers, etc.) in the mode line with safe fallback to numeric pages.
Closes: #331
Author: @rafaelbeirigo
| -rw-r--r-- | lisp/pdf-view.el | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lisp/pdf-view.el b/lisp/pdf-view.el index dc77368..c94fe1a 100644 --- a/lisp/pdf-view.el +++ b/lisp/pdf-view.el @@ -213,6 +213,16 @@ Must be one of `glyph', `word', or `line'." (const word) (const line))) +(defcustom pdf-view-mode-line-position-prefix "P" + "Prefix for page number shown in the mode line." + :group 'pdf-view + :type 'string) + +(defcustom pdf-view-mode-line-position-use-labels nil + "Whether current page should come from page labels." + :group 'pdf-view + :type 'boolean) + ;; * ================================================================== * ;; * Internal variables and macros @@ -390,7 +400,13 @@ PNG images in Emacs buffers." ;; Setup other local variables. (setq-local mode-line-position - '(" P" (:eval (number-to-string (pdf-view-current-page))) + '(" " pdf-view-mode-line-position-prefix + ;; Show page label when enabled and available, + ;; otherwise show numeric page. Guard against errors. + (:eval + (or (and pdf-view-mode-line-position-use-labels + (ignore-errors (pdf-view-current-pagelabel))) + (number-to-string (pdf-view-current-page)))) ;; Avoid errors during redisplay. "/" (:eval (or (ignore-errors (number-to-string (pdf-cache-number-of-pages))) |
