lpdf

Little pdf viewer build using poppler and Xlib. It is modelled after xpdf-3 and zathura. Its main features are small codebase (currently ~1500 lines of code, my self-imposed limit is ~2000 lines of code) and little dependencies. It uses internal poppler api (de facto xpdf source) so even poppler could be dropped from dependencies eventually.

You can download sources here or by using git:

$ git clone https://git.lkrotowski.com/lpdf.git

Presentation: Lpdf: a little pdf viewer for X11 with small dependencies.

Why?

Because modifying xpdf to look more like zathura required too much Motif to my liking. And modifying zathura to feel more like xpdf was a surprisingly daunting task. Zathura + girara is quite a big codebase (nearly 30K lines of code) that uses Gtk+3. And that is not a dependency I take lightly.

Why Xlib?

Because it was an excuse to write an X11 program from scratch. Also, pdf viewer with minimal ui, basically, just displays bitmaps created by pdf rendering engine. That's too small of a task to justify larger toolkit dependency.

TODOs (that might not happen at all)

1. Drop poppler dependency in favor of using xpdf-3 source directly.
2. Improve overall code quality.
3. Still have some ~500 lines of code left, so maybe some other features.

History

2022-02-03 - first public version.