PDF viewer for terminals using the Kitty image protocol
fancy-cat <path-to-pdf> <optional-page-number>
Keymappings and other options can be found and changed in src/config.zig
.
fancy-cat is available as a package in the AUR. You can install it using an AUR helper (e.g., paru):
paru -S fancy-cat
- Zig version
0.13.0
- Terminal emulator with the Kitty image protocol (e.g. Kitty, Ghostty, WezTerm, etc.)
- MuPDF
brew install mupdf
apt install \
libmupdf-dev \
libharfbuzz-dev \
libfreetype6-dev \
libjbig2dec0-dev \
libjpeg-dev \
libopenjp2-7-dev \
libgumbo-dev \
libmujs-dev \
zlib1g-dev
Important
On some Linux distributions (e.g., Fedora, Arch), replace mupdf-third
with mupdf
in build.zig
to compile successfully.
- Fetch dependencies:
zig build --fetch
- Build the project:
zig build --release=fast
- Install:
# Add to your PATH
# Linux
mv zig-out/bin/fancy-cat ~/.local/bin/
# macOS
mv zig-out/bin/fancy-cat /usr/local/bin/
zig build run -- <path-to-pdf> <optional-page-number>
- ✅ Filewatch (hot-reload)
- ✅ Custom keymapping
- ✅ Dark-mode
- ✅ Zoom
- ✅ Status bar
- 🚧 Cache
- 🚧 Search
Contributions are welcome.