A screenshot and screen recording tool for the COSMIC desktop environment with annotation capabilities.
demo.mp4
Disclaimer: This project is based on xdg-desktop-portal-cosmic with added features. It implements the same screenshot portal interface. When set up correctly, dbus messages sent by cosmic-screenshot will be handled by SnapPea instead of xdg-desktop-portal-cosmic (only Screenshot Portal messages).
- Interactive screenshot selection
- Screen recording with hardware acceleration (no audio yet)
- Multiple container formats (MP4, WebM, MKV)
- Configurable framerate (24/30/60 fps)
- Hardware encoder selection
- Cursor visibility toggle
- Live annotations while recording
- Annotation tools: arrows, circles, squares, freehand drawing
- Text recognition (OCR)
- QR code detection
- Redaction and pixelation
- Multi-window and multi-output support
- Keyboard shortcuts
- Configurable settings
Build and install with just:
just && sudo just installThis installs the binary to /usr/bin/snappea and adds a desktop entry to your application menu.
Setting up a keyboard shortcut:
- Open Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts
- Add a new shortcut:
- Name:
SnapPea(orScreenshot) - Command:
snappea - Shortcut:
Print(or your preferred key)
- Name:
Note
Running snappea multiple times communicates with the existing instance. If you're recording and press the shortcut again, it will stop the recording.
To use SnapPea as the default screenshot tool (replacing the COSMIC screenshot tool):
just install-portalThis creates ~/.config/xdg-desktop-portal/portals.conf to configure xdg-desktop-portal.
After installing, reload the portal:
systemctl --user restart xdg-desktop-portalNow pressing Print Screen will open SnapPea instead of the default screenshot tool.
To enable text recognition (OCR), install tesseract-ocr:
# Debian/Ubuntu
sudo apt install tesseract-ocr
# Fedora
sudo dnf install tesseract
# Arch
sudo pacman -S tesseractsudo just uninstallThe uninstall command will warn you if ~/.config/xdg-desktop-portal/portals.conf still contains SnapPea configuration.
It Snaps Pics and it's snappy!