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.0b3.tar.gz (90.8 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.0b3-py3-none-any.whl (88.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waysnip-0.6.0b3.tar.gz
  • Upload date:
  • Size: 90.8 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.0b3.tar.gz
Algorithm Hash digest
SHA256 ab8052bb5a3f831b60486b2ca9a83098f6fbb2f58ea7f0a46bc0e8e6d3301b8e
MD5 8921dc09b8f8d1a9f89fbece28c65e68
BLAKE2b-256 acbdc89258c28f437ffad4010fa4296432079e98150991027bf5db75f480325b

See more details on using hashes here.

Provenance

The following attestation bundles were made for waysnip-0.6.0b3.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.0b3-py3-none-any.whl.

File metadata

  • Download URL: waysnip-0.6.0b3-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.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 7e61cba3c05db6aa4462547ea3bacf08e7deafa1c2c755f0e8d2d0d4775d0203
MD5 7cab1f3c5fc9ad217da9738a4bece56b
BLAKE2b-256 fc92059882716018b82c7c06aee0834603c8191bbf4fd6ab66b1dfc5d3e30736

See more details on using hashes here.

Provenance

The following attestation bundles were made for waysnip-0.6.0b3-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