Continuous scroll, thumbnail rail, real text selection. The bar is evince minus the settings panel — not a Foxit-shaped power tool.
We adopt a continuous-scroll layout in which all pages stack vertically and render lazily as they enter the viewport. The active page is derived from scroll position, not stored as a separate cursor.
Thumbnails render at low DPR into the side rail. The first twenty are produced eagerly; the rest fill in as the rail is scrolled.
Pages stack vertically and render only as they enter the viewport. Big PDFs open as fast as small ones.
Per-page thumbnails in a side panel, current page highlighted. Click to jump.
Select and copy real text, not OCR — the invisible text layer mirrors the rendered glyphs.
Every navigation you'd expect. Smooth-scroll between pages, no animation theatre.
No fiddling with zoom levels on every open. The page is always the column that fits.
Small binary, AppImage and .deb, real .pdf file association, in-app updater. No Electron.
One-liner — downloads the AppImage to ~/.local/bin, marks it executable, and registers a launcher entry. Re-run to upgrade.
curl -fsSL https://krill-software.github.io/install.sh | bash -s pdf-reader
Clone, install dependencies, and build with Tauri. Needs Node (with pnpm) and a Rust toolchain.
# clone git clone https://github.com/krill-software/pdf-reader.git cd pdf-reader # build pnpm install pnpm tauri build