- Rust 67.9%
- CSS 9.5%
- JavaScript 8.6%
- HTML 8%
- Shell 5.4%
- Other 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
Build portable apps and publish / publish (push) Has been cancelled
Build portable apps and publish / build (macos-15-intel, x86_64-apple-darwin) (push) Has been skipped
Build portable apps and publish / build (macos-latest, aarch64-apple-darwin) (push) Has been skipped
Build portable apps and publish / build (ubuntu-24.04, x86_64-unknown-linux-gnu) (push) Has been skipped
Build portable apps and publish / build (windows-latest, x86_64-pc-windows-msvc) (push) Has been skipped
|
||
| .github/workflows | ||
| docs/superpowers/specs | ||
| packaging | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Cross-Platform-Screenshot-Automation-App.md | ||
| MACOS_INSTRUCTIONS.md | ||
| README.md | ||
Prntscrape
Background screenshot capture with a watchlist, tray controls, settings, and automatic updates.
The primary repository is vndreiii/Prntscrape on GitHub. GitHub Actions builds the app and publishes releases. Forgejo is a source backup.
Downloads and updates
Download the portable package for your platform from GitHub Releases. Keep it in a folder your user can write to, so the app can replace it during updates. No installer is needed.
- Windows x64: download and run
Prntscrape-x86_64-pc-windows-msvc.exe. WebView2 Runtime is required. Click the bottom-right startup notification or the tray icon to open settings. - Linux x64: download
Prntscrape-x86_64-unknown-linux-gnu.AppImage, runchmod +x Prntscrape-*.AppImage, then launch it. GTK, WebKit (including helper processes), AppIndicator, and grim are bundled. Builds target Ubuntu 24.04 or newer compatible distributions. Automatic screenshots require a running Hyprland session. Settings support X11 and Wayland and open at startup; background tray access requires a desktop tray host. Without FUSE, add--appimage-extract-and-runwhen launching. - macOS (Apple Silicon or Intel): unzip the matching
Prntscrape-*.app.zip, movePrntscrape.appto a writable folder, and open it. Grant Screen Recording and Automation permissions. The bundle is ad-hoc signed but not Apple notarized; see macOS instructions.
The app checks only vndreiii/Prntscrape on GitHub at startup and every six hours, downloading and installing newer stable releases automatically. It verifies SHA-256 checksums, replaces the outer Linux AppImage, the Windows executable, or the entire signed macOS app bundle. Settings also has Check for Updates and displays errors or a Restart button after installation. Capturing continues until you restart. Offline checks or missing releases leave the current installation intact. Source-built Linux/macOS binaries should be rebuilt manually; automatic updates support the portable packages. Release downloads must be publicly accessible.
Development
Install Rust, then run:
cargo build --locked
cargo test --locked
cargo run -- --help
Ubuntu build dependencies (in addition to runtime capture tools):
sudo apt-get install libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libdbus-1-dev pkg-config
Native UI adapters and themes live in src/ui/platform/{windows,linux,macos}.*. Shared settings markup, behavior, and layout live in src/ui/settings.{html,js,css}; src/ui/mod.rs connects them to capture/configuration/update events.
Publishing an update
- Increase
versioninCargo.toml, runcargo checkto updateCargo.lock, then commit. - Push the commit to GitHub (
origin) and Forgejo (forgejo). - GitHub Actions builds all four portable packages, creates a matching tag and release, uploads every package and
SHA256SUMS, then publishes the release.
git push origin main
git push forgejo main
GitHub Actions tests and builds all four targets on pushes to main, pull requests, and manual runs. Every new Cargo version pushed to main automatically becomes a release after all packages succeed. Reusing an already published version leaves that release unchanged; bump the version for a new update. A manual Actions run on main can retry an unpublished version. Explicit v* tags are also supported and must match the package version. Pull requests produce artifacts only. Publication uses a draft until all uploads finish, so the updater never sees an incomplete release. GitHub runs CI; Forgejo stores the source backup.