Skip to main content

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. Also supports sway, Hyprland, Wayfire, river, and other wlroots-based compositors via grim.

Features

  • Region 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

uv tool install waysnip
waysnip setup

pipx install waysnip and pip install --user waysnip work too.

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
  • Python 3.12+
  • wl-clipboard
  • gnome-screenshot on GNOME / Unity, grim on sway / Hyprland / Wayfire / wlroots (gnome-screenshot is pre-installed on Ubuntu 24.04)

WaySnip auto-detects the active compositor via XDG_CURRENT_DESKTOP and falls through to the other backend if the preferred one isn't installed or fails.

Quick start

Action How
Region capture Press Print or waysnip region
Fullscreen capture Press Ctrl+Print or waysnip fullscreen
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
auto_save = true            # save snips to the gallery without pressing Ctrl+S

[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
uv tool uninstall waysnip   # or: pipx uninstall waysnip

waysnip uninstall restores GNOME's default screenshot keys and removes the autostart entry.

License

GPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

waysnip-0.6.0b2.tar.gz (90.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waysnip-0.6.0b2-py3-none-any.whl (88.6 kB view details)

Uploaded Python 3

File details

Details for the file waysnip-0.6.0b2.tar.gz.

File metadata

  • Download URL: waysnip-0.6.0b2.tar.gz
  • Upload date:
  • Size: 90.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for waysnip-0.6.0b2.tar.gz
Algorithm Hash digest
SHA256 272e0f956c74898af5bbb5d00dfd3d9feb6b2b09c8e4b5b542cc65923cc2e5f9
MD5 aca47dad73906a49255e4d5780e80522
BLAKE2b-256 3990575e5e0de4ca38b623f512c1cf0408f6bfff6de825d21735b128a9db6cff

See more details on using hashes here.

Provenance

The following attestation bundles were made for waysnip-0.6.0b2.tar.gz:

Publisher: release.yml on paalkr/waysnip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file waysnip-0.6.0b2-py3-none-any.whl.

File metadata

  • Download URL: waysnip-0.6.0b2-py3-none-any.whl
  • Upload date:
  • Size: 88.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for waysnip-0.6.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 b939dd0bfbc9fee52d32a4bc4bb7e494ac49479435263ed261f4027c1538fc9c
MD5 40d6c3ee6f136934b84ea392a3dbee3c
BLAKE2b-256 54d99c83184c5545a25d5cea16130e7f41e4025c377f7380574f42d7bc693b99

See more details on using hashes here.

Provenance

The following attestation bundles were made for waysnip-0.6.0b2-py3-none-any.whl:

Publisher: release.yml on paalkr/waysnip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page