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

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

[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


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.0b1.tar.gz (82.9 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.0b1-py3-none-any.whl (84.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waysnip-0.6.0b1.tar.gz
  • Upload date:
  • Size: 82.9 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.0b1.tar.gz
Algorithm Hash digest
SHA256 f30686c3837fbb2c2b24468faa2ae3348be34b3fbd4d8743b0c1e11348aae87a
MD5 53f8149170f06744da8cc3c91e25e0aa
BLAKE2b-256 511f9f9cc19aa117f43dcb83c5b0b992b78a583bf5460a7fd539627882d5e378

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: waysnip-0.6.0b1-py3-none-any.whl
  • Upload date:
  • Size: 84.7 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.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 aa5e7ee3f961f3303987d8d578729fadf380398d820026df30fbafd21d146296
MD5 70b56c84f71bf06713835dfcb4a73ded
BLAKE2b-256 0d9707e4eac7e7f7c4d4a55088b6e3fb6b106a9048c99238407c5ee8c9362dc0

See more details on using hashes here.

Provenance

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