What does Realtime PDF do?
Realtime PDF watches a target PDF file, reloads it when the file changes on disk, keeps a persistent saved-history list, and can run per-PDF source hooks that regenerate the PDF when related files such as Laravel Blade templates change.
Which operating systems does it run on?
Realtime PDF is a desktop PDF watcher for macOS. The Homebrew cask installs Realtime PDF.app and publishes separate DMGs for Apple silicon and Intel.
How do I install it?
Run brew tap dickwu/tap, then brew install --cask realtime-pdf. You can also download the v0.1.16 DMG from GitHub Releases. The cask homepage is https://github.com/dickwu/realtime-pdf.
What if macOS says the app is damaged or cannot be opened?
Run sudo xattr -d com.apple.quarantine /Applications/Realtime\ PDF.app/
How do I start watching a PDF?
Open the app. Click Settings. Pick a PDF or paste a PDF path. Reopen Settings to manage saved PDF history, hook definitions for the active PDF, and hook templates copied from another saved PDF.
What does a hook store?
Each saved PDF can have multiple hooks. A hook has a watch path, an execute command, an execution path, and an enabled toggle. Hook execution is debounced, and you can copy a hook template from another saved PDF. If the command regenerates the watched PDF, Realtime PDF reloads it through the existing PDF watcher.
What happens when a saved PDF is missing?
Missing entries stay in the saved history. They are disabled, and you can remove them. Files that can't be found stay listed until you remove them.
Does it remember zoom and the last PDF?
Yes. The zoom level is persisted, and Realtime PDF restores the last watched PDF when you reopen the app. The window is a full-window PDF viewer powered by @embedpdf/react-pdf-viewer.
How do updates work?
Realtime PDF checks GitHub Releases for a new version on launch and every five minutes after that. The result lands in Settings → App version. Up to date shows the current version and a Check now button. Update available shows Update to vX.Y.Z and a primary button. Clicking it downloads the signed update bundle, replaces the installed .app, and relaunches. Updates are signed with minisign at release time, so an update only installs if its signature matches the public key compiled into the running app. The first install of any version still happens via DMG download or brew install --cask dickwu/tap/realtime-pdf. In-app auto-update only kicks in once an updater-enabled build is running. If you installed via Homebrew and prefer to keep cask metadata in sync, you can also run brew upgrade --cask realtime-pdf instead of using the in-app updater. Both paths work, but using one consistently avoids version drift between Homebrew's records and the installed binary.
Where is the source?
The source repository and the cask homepage are https://github.com/dickwu/realtime-pdf. The license is MIT.