Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freref/fancy-cat
PDF reader for terminal emulators using the Kitty image protocol
https://github.com/freref/fancy-cat
zig zig-package
Last synced: 5 days ago
JSON representation
PDF reader for terminal emulators using the Kitty image protocol
- Host: GitHub
- URL: https://github.com/freref/fancy-cat
- Owner: freref
- License: mit
- Created: 2024-11-02T21:31:32.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-01-20T14:33:58.000Z (13 days ago)
- Last Synced: 2025-01-21T00:11:14.390Z (12 days ago)
- Topics: zig, zig-package
- Language: Zig
- Homepage:
- Size: 75.2 KB
- Stars: 217
- Watchers: 5
- Forks: 7
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
📑
fancy-cat
PDF viewer for terminals using the Kitty image protocol
![demo](https://github.com/user-attachments/assets/b1edc9d2-3b1f-437d-9b48-c196d22fcbbd)
## Usage
```sh
fancy-cat
```
Keymappings and other options can be found and changed in ``src/config.zig``.
## Installation
### Arch Linux
[fancy-cat](https://aur.archlinux.org/packages/fancy-cat) is available as a package in the AUR. You can install it using an AUR helper (e.g., paru):
```sh
paru -S fancy-cat
```
## Build Instructions
### Requirements
- Zig version ``0.13.0``
- Terminal emulator with the Kitty image protocol (e.g. Kitty, Ghostty, WezTerm, etc.)
- [MuPDF](https://mupdf.readthedocs.io/en/latest/quick-start-guide.html)
#### MacOS
``` sh
brew install mupdf
```
#### Linux
``` sh
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.
### Build
1. Fetch dependencies:
```sh
zig build --fetch
```
2. Build the project:
```sh
zig build --release=fast
```
3. Install:
```
# Add to your PATH
# Linux
mv zig-out/bin/fancy-cat ~/.local/bin/# macOS
mv zig-out/bin/fancy-cat /usr/local/bin/
```
### Run
```
zig build run --
```
## Features
- ✅ Filewatch (hot-reload)
- ✅ Custom keymapping
- ✅ Dark-mode
- ✅ Zoom
- ✅ Status bar
- 🚧 Cache
- 🚧 Search
## Contributing
Contributions are welcome.