A fast and unintrusive PDF reader.
Dodo is a lightweight, high-performance PDF reader designed to provide a smooth and efficient document viewing experience. Built using MuPDF and Qt, it supports tabs, does fast rendering, annotation handling (highlights and rects), and advanced features like SyncTeX integration for LaTeX users. Whether you're reading academic papers, technical manuals, or everyday documents, this reader offers a streamlined interface and robust functionality with minimal resource usage.
Warning
Dodo is currently in alpha and may experience crashes or instability.
Note
dodo version is v0.2.3-alpha
- Fast rendering with MuPDF backend
- SyncTeX support
- Caching and pre-fetching pages for faster page rendering
- Vim-like keybindings
- Configured using TOML language
- Tabs support
- Faster search
- Visited file location saving
- Link awareness
- Save annotations (highlights only for now)
- Text highlight
- Jump Marker (to help locate where link takes you to)
- Wayland support
- Qt6
- mupdf
- libsynctex [for reverse searching and goto reference from LaTeX]
- cmake (for building)
- ninja (for building)
Note
There are two branches in dodo.
main (default)
untabbed
untabbed
is dodo without tab support and many other features present in the main branch like session management etc.
No further updates will be pushed to the untabbed branch. If you don't want tabs, go for untabbed
branch else stick with
the default branch.
Note
The install.sh
script installs latest version of MuPDF library required for dodo
sudo pacman -Syu qt6-base libsynctex cmake ninja
git clone https://github.com/dheerajshenoy/dodo
cd dodo
./install.sh
sudo apt update && sudo apt install qt6-base-dev libsynctex-dev cmake ninja-build
git clone https://github.com/dheerajshenoy/dodo
cd dodo
./install.sh
- Install the required dependencies
- Clone the repository and build similar to the Arch Linux build approach.
Check out usage to learn how to use dodo.
Dodo will search for config.toml
file in the ~/.config/dodo
directory, and load it if it exists.
Check out the config.toml
file for reference
Kvantum (Recommended)
Kvantum is a powerful SVG-based theme engine for Qt. It supports dark themes, custom widgets, and integrates well with Qt6.
Check out kvantum's install page here
Once installed, you can select a theme you like in the kvantummanager
app and
add QT_STYLE_OVERRIDE=kvantum
env variable. On the next launch, you should have
the specified theme loaded in dodo.
Demo video of few of the features of dodo
fast.mp4
jump_marker.mp4
Check out TODO.md
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.
Yes, Dodo supports Wayland natively.
Open issues on the GitHub repository here.