Klypse is a native Linux screenshot and screen-recording workspace for X11 and Wayland. It creates PNG screenshots, silent WebM/VP8 recordings, and animated GIFs, then keeps them in a persistent local gallery.
The 0.1.0 MVP includes region, screen, window, and active-window capture; video and GIF recording; clipboard copy and drag; a non-destructive annotation editor; configurable global shortcuts; recovery after interrupted writes; and English/French UI. Klypse does not upload captures or make application-level network requests.
Download the current packages from the latest Klypse release. Packages are currently provided for 64-bit x86 Linux (amd64/x86_64). Verify the downloaded files with:
sha256sum -c SHA256SUMSThe .deb targets Debian 13, Ubuntu 24.04, Kali Rolling, and newer compatible systems. After downloading it:
sudo apt install ./klypse_*_amd64.deb
klypse openUse the Flatpak bundle on other recent distributions. It supports Wayland and fallback X11:
flatpak remote-add --user --if-not-exists flathub \
https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install --user ./Klypse.flatpak
flatpak run io.github.roadmvn.Klypse -- openThe sandbox grants Wayland, fallback X11, GPU acceleration, and xdg-pictures. It does not grant network, full home-directory, or raw host D-Bus access.
For a Flatpak installation, replace klypse in the examples with flatpak run io.github.roadmvn.Klypse --.
Launch Klypse from the application menu or with klypse open. The command-line interface uses the same application command bus as the buttons and shortcuts:
klypse capture area
klypse capture screen
klypse capture window
klypse capture active-window
klypse record video area
klypse record video screen
klypse record gif area
klypse stopVideo and GIF recording are silent in 0.1.0. GIF defaults to 12 FPS and stops after at most 30 seconds; both values are configurable within their supported range.
Default shortcuts:
| Action | Shortcut |
|---|---|
| Capture area | Ctrl+Print |
| Capture screen | Print |
| Capture window | Alt+Print |
| Record video | Shift+Print |
| Record GIF | Ctrl+Shift+Print |
| Stop recording | Ctrl+Shift+Escape |
On X11, Klypse uses its direct capture backend and selection overlay. On Wayland, it uses the desktop Screenshot, ScreenCast/PipeWire, and GlobalShortcuts portals; the compositor owns the secure picker. For area recording, current Wayland portals may offer a monitor or window rather than a free-form rectangle.
GNOME, KDE, and Xfce already own the Print keys, so Klypse usually cannot register them and falls back to its command line. This is expected, and the fix takes a minute: open your desktop's keyboard settings, add a custom shortcut, and point it at the matching command.
| Shortcut you want | Command to bind |
|---|---|
| Capture area | klypse capture area |
| Capture screen | klypse capture screen |
| Capture window | klypse capture window |
| Record video | klypse record video area |
| Record GIF | klypse record gif area |
| Stop recording | klypse stop |
Klypse also lists these commands under Preferences → Desktop shortcut commands, ready to copy.
The editor supports rectangle, ellipse, line, arrow, text, freehand, crop, pixelation, and blur tools, plus undo/redo, zoom, non-destructive save, flattened export, and clipboard copy.
Right-click a capture to select it, copy or edit it, reveal its folder, remove it from the gallery, or delete it from disk. Destructive actions always require confirmation.
Native package defaults:
| Data | Default location |
|---|---|
| Captures | $XDG_PICTURES_DIR/Klypse |
| Gallery database and annotations | $XDG_DATA_HOME/klypse/library.sqlite3 |
| Recovery orphans | $XDG_DATA_HOME/klypse/orphans |
| Thumbnails | $XDG_CACHE_HOME/klypse/thumbnails |
| In-progress files | $XDG_RUNTIME_DIR/klypse/tmp |
When an XDG variable is unset, the usual ~/.local/share, ~/.cache, and ~/Pictures fallbacks apply. Flatpak stores database/cache state below ~/.var/app/io.github.roadmvn.Klypse/ while captures remain in the permitted Pictures directory.
Klypse never logs capture contents. Interrupted and orphaned files are reported for an explicit restore/discard decision and are not deleted automatically.
sudo apt remove klypse
# or
flatpak uninstall --user io.github.roadmvn.KlypsePackage removal intentionally preserves captures and native user data. flatpak uninstall --delete-data removes Flatpak-private database/cache state, but files saved in ~/Pictures/Klypse remain user-owned and must be removed manually if desired.
Klypse is Linux only. macOS and Windows are not planned.
You need Rust 1.85 or newer (the workspace uses edition 2024), which the packaged rustc on some distributions does not yet satisfy. Install it with rustup if in doubt.
On Debian, Ubuntu, and Kali, the build dependencies are:
sudo apt install --no-install-recommends \
build-essential pkg-config gettext \
libgtk-4-dev libadwaita-1-dev libsqlite3-dev \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-libav \
libpipewire-0.3-dev \
libxcb1-dev libxcb-composite0-dev libxcb-randr0-dev libxcb-xfixes0-devThen:
cargo build --release
cargo run -p klypse-appOther distributions ship the same libraries under different names; the authoritative list is the apt-get install step in .github/workflows/review.yml, which is what CI actually installs.
If you prefer not to install anything on your host, ./scripts/dev-container.sh cargo build --release runs the whole toolchain in Docker instead.
Klypse has been developed with assistance from automated coding tools, including OpenAI Codex. Tool-assisted work can include implementation, refactoring, tests, documentation, and review support. The project maintainer remains responsible for reviewing, accepting, and releasing every change. Automated checks improve confidence but do not replace independent security review or real-desktop testing.
On Debian-compatible systems, ./scripts/bootstrap-debian.sh installs prerequisites when passwordless sudo is available, or prepares the development container when Docker is available.
Build packages locally:
./scripts/build-debian-package.sh
./scripts/dev-container.sh bash scripts/test-debian-package.sh \
build/debian/klypse_*_amd64.deb
bash scripts/build-flatpak.sh
bash scripts/test-flatpak.shRun the complete release gate:
./scripts/dev-container.sh bash scripts/verify-release.shIt checks formatting, translations, Desktop/AppStream metadata, Clippy with warnings denied, workspace coverage split into bounded runs, targeted X11/GTK smoke tests under Xvfb, dependency advisories, licences, and source policy. The parallel Debian and Flatpak jobs provide the release-build checks. Pass a .deb path as the first argument to include its content smoke test. Set KLYPSE_VERIFY_FLATPAK=1 when the Flatpak is installed in the current environment.
See the Linux compatibility matrix for the distinction between automated coverage and manual desktop-session validation.
Klypse is licensed under GPL-3.0-or-later.
