paper-mode
paper-mode copied to clipboard
(Abandoned) Document viewer for Emacs
#+TITLE: Paper Mode
Project status: abandoned due to linking problems with mupdf
Experimental PDF viewer for Emacs, rendering with mupdf and using gtk directly on an Emacs window from a dynamic module - the method invented by [[https://github.com/akirakyle/emacs-webkit][emcas-webkit]].
- Usage ** Install: To build the shared object you'll need: mupdf 1.17+ dev version, gtk3 dev version. It should work with Emacs 27.
- Clone the repo
- Run ~make~
- Add repo dir to load path Alternatively, install through [[http://guix.gnu.org][Guix]] with ~guix package -f paper-mode.scm~ ** Config With [[https://github.com/jwiegley/use-package/][use-package]]: #+begin_src emacs-lisp (use-package paper ;; you could also add html, png, jpg :mode ("\.pdf\'" . paper-mode) :mode ("\.epub\'" . paper-mode) :mode ("\.cbz\'" . paper-mode) :config (require 'evil-collection-paper) (evil-collection-paper-setup)) #+end_src
- Todo list
- [-] Outside Emacs
- [X] Ensure zoom & rotation work
- [X] Scroll
- [X] Show more than one page at a time
- [-] Mouse:
- [ ] Smooth scrolling like Evince has
- [X] Select text over multiple pages
- [X] Links:
- [X] Highlight on hover
- [X] Show destination in a mousce hover popup kinda thing
- [X] Follow internal links on click
- [X] CANCELED Lazy load page text
- [X] Free previous pages
- [X] Pre render next page on idle time
- [X] Real multithreaded page loading
- [ ] Synctex
- [-] Inside Emacs
- [ ] Sensible page dimensions by default: Center with a fixed width if the window is too long, fit to width if sensible, calculate minimum width with ~fz_new_bbox_device~ if too small.
- [-] Evil controls. I can't do Emacs-style keybinds myself.
- [ ] Follow links external to the document
- [-] Search
- [-] Normal
- [ ] With a swiper-like preview of the results
- [ ] Imenu to show PDF outline/bookmarks
- [ ] Change bg & fg colors to comply with the Emacs theme, pdf-midnight-mode
- [ ] Opening PDFs with passwords
- [ ] Ace link selection
- [ ] pdftotext view
- [ ] extract/open embedded files
- [ ] Annotations with text editing through Emacs
- [ ] Support for bookmark.el and org-store-link, saving page & scroll & zoom
- [ ] Accel files
- [ ] Better Epub control, generate CSS mimicknig the Emacs theme. Could use htmlize's face-to-css-spec.
- [ ] Keybind to show PDF properties
- [ ] Save scrolled document location to restore it on future openings
- [ ] Figure out if I could map long key presses from Emacs to scroll smoothly continously
- [ ] Presentation mode