From 1ba60040407d931561639491de0d324cddd1e39f Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Thu, 16 Apr 2026 15:50:01 +0200 Subject: [PATCH] Enable PDF viewing in Emacs with pdf-tools and poppler dependencies --- ansible/inventory/group_vars/desktop.yml | 2 ++ dotfiles/desktop/.emacs.d/init.el | 9 ++++----- dotfiles/desktop/.emacs.d/lisp/misc/pdf.el | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 2cc55b7..4efc271 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -85,6 +85,8 @@ profile_packages: - deluge-gtk - dnsmasq - emacs-gtk3 + - poppler-glib + - poppler-utils - exo - fontconfig-devel - freetype-devel diff --git a/dotfiles/desktop/.emacs.d/init.el b/dotfiles/desktop/.emacs.d/init.el index cf96fd6..f870454 100644 --- a/dotfiles/desktop/.emacs.d/init.el +++ b/dotfiles/desktop/.emacs.d/init.el @@ -41,11 +41,10 @@ 'misc/gptel 'misc/email 'misc/rss - 'misc/terminal - 'misc/vcs - ;; FIXME PDF viewer with annotations - ;; 'misc/pdf - 'misc/epub + 'misc/terminal + 'misc/vcs + 'misc/pdf + 'misc/epub 'misc/i3-config) (message "...user configuration loaded") diff --git a/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el b/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el index ccd6311..2b85fa1 100644 --- a/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el +++ b/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el @@ -1,4 +1,22 @@ +;;; pdf.el -*- lexical-binding: t; -*- + (use-package pdf-tools :ensure t :config (pdf-tools-install)) + +(use-package pdf-view + :config + (setq-default pdf-view-display-size 'fit-width) + (setq pdf-cache-org-imgparams t + pdf-view-use-smooth-scrolling t) + (setq pdf-annot-default-visible-properties t)) + +(with-eval-after-load 'pdf-view + (define-key pdf-view-mode-map (kbd "n") 'pdf-view-next-page) + (define-key pdf-view-mode-map (kbd "p") 'pdf-view-previous-page) + (define-key pdf-view-mode-map (kbd "q") 'pdf-view-close)) + +(provide 'misc/pdf) + +;;; pdf.el ends here