Lightweight Wayland screenshot and annotation tool
Project description
WaySnip
Lightweight screenshot and annotation tool for Linux Wayland. Captures your screen, lets you select a region, annotate with shapes and text, and saves with a single shortcut. Built for documentation workflows and quick sharing.
Tested on Ubuntu 24.04 with GNOME Shell 46 on Wayland.
Features
- Region, window, and fullscreen capture with frozen screen (menus don't close)
- 11 annotation tools: rectangle, ellipse, arrow, line, text, numbered markers, freehand pen, highlight, blur/pixelate, crop
- Color picker with recent colors, stroke width, opacity, font controls
- Undo/redo, clone, multi-select, keyboard shortcuts for every tool
- Re-editable annotations stored as PNG metadata
- Gallery with thumbnail browser
- System tray with hotkey support
- Settings UI backed by TOML config
- Auto-copy to clipboard on capture and save
- Dark theme
Install
pipx install waysnip
waysnip setup
waysnip setup binds PrintScreen to region capture, Ctrl+PrintScreen to fullscreen, and enables tray autostart on login.
From source
git clone https://github.com/paalkr/waysnip.git
cd waysnip
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
waysnip setup
Requirements
- Linux with Wayland (GNOME recommended)
- Python 3.12+
gnome-screenshotandwl-clipboard(pre-installed on Ubuntu 24.04)
Quick start
| Action | How |
|---|---|
| Region capture | Press Print or waysnip region |
| Fullscreen capture | Press Ctrl+Print or waysnip fullscreen |
| Window capture | waysnip window |
| Open gallery | waysnip gallery |
| Open settings | waysnip config |
| Start tray only | waysnip tray |
Editor shortcuts
| Key | Action |
|---|---|
| V | Select tool |
| R | Rectangle |
| E | Ellipse |
| A | Arrow |
| L | Line |
| T | Text |
| N | Numbered marker |
| P | Freehand pen |
| H | Highlight |
| B | Blur/pixelate |
| C | Crop |
| Ctrl+Z | Undo |
| Ctrl+Y | Redo |
| Ctrl+S | Save |
| Ctrl+Shift+S | Save as |
| Ctrl+C | Copy to clipboard |
| Ctrl+D | Clone selected |
| Del | Delete selected |
| Ctrl+Shift+] | Bring to front |
| Ctrl+Shift+[ | Send to back |
| Ctrl+] | Move up one layer |
| Ctrl+[ | Move down one layer |
| Ctrl+1 | Actual size (100%) |
| Ctrl+0 | Fit to window |
Configuration
Config file: ~/.config/waysnip/config.toml
[capture]
after_capture = "editor" # "editor", "clipboard", "save", "clipboard+save"
auto_copy_clipboard = true
show_cursor = false
[save]
directory = "~/Pictures/Screenshots"
pattern = "Screenshot_%Y-%m-%d_%H-%M-%S.png"
mode = "annotated" # "annotated" (re-editable) or "editable" (smaller)
[editor]
copy_on_save = true
[tray]
enabled = true
left_click_action = "region"
Edit via GUI: waysnip config
Edit directly: waysnip config --edit
Uninstall
waysnip uninstall
pipx uninstall waysnip
waysnip uninstall restores GNOME's default screenshot keys and removes the autostart entry.
License
GPL-3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file waysnip-0.4.0.tar.gz.
File metadata
- Download URL: waysnip-0.4.0.tar.gz
- Upload date:
- Size: 81.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4fe708eacfaf545af31fb2d59b6fa6396db4ab7a09d5e0541944892dbce4255
|
|
| MD5 |
bcb9186ead52f704cf8080023ad9eab6
|
|
| BLAKE2b-256 |
074bff97ba0d10057913cd39f4af2f2155c004af366bae411363c8b3700bb6ee
|
Provenance
The following attestation bundles were made for waysnip-0.4.0.tar.gz:
Publisher:
release.yml on paalkr/waysnip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waysnip-0.4.0.tar.gz -
Subject digest:
e4fe708eacfaf545af31fb2d59b6fa6396db4ab7a09d5e0541944892dbce4255 - Sigstore transparency entry: 1274093665
- Sigstore integration time:
-
Permalink:
paalkr/waysnip@d5c648012c0e34c01101a0dfa6bc52e23ed8f692 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/paalkr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d5c648012c0e34c01101a0dfa6bc52e23ed8f692 -
Trigger Event:
push
-
Statement type:
File details
Details for the file waysnip-0.4.0-py3-none-any.whl.
File metadata
- Download URL: waysnip-0.4.0-py3-none-any.whl
- Upload date:
- Size: 85.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db155a9e40a0ea2a5a9f8c30647608951c5486ed98e5acd09c6e42fee176e8e2
|
|
| MD5 |
92cdcc878c9fa703858bd7934fa316ad
|
|
| BLAKE2b-256 |
c4c8d84d3d49a08ef4f873b06c84f858acdf32b50c533e4d34e6dad64d9ec36a
|
Provenance
The following attestation bundles were made for waysnip-0.4.0-py3-none-any.whl:
Publisher:
release.yml on paalkr/waysnip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waysnip-0.4.0-py3-none-any.whl -
Subject digest:
db155a9e40a0ea2a5a9f8c30647608951c5486ed98e5acd09c6e42fee176e8e2 - Sigstore transparency entry: 1274093803
- Sigstore integration time:
-
Permalink:
paalkr/waysnip@d5c648012c0e34c01101a0dfa6bc52e23ed8f692 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/paalkr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d5c648012c0e34c01101a0dfa6bc52e23ed8f692 -
Trigger Event:
push
-
Statement type: