Draw on your screen. Any app. Live.
wayscriber is a ZoomIt-style screen annotation tool for Wayland, written in Rust. One keybind summons a drawing layer over whatever you're doing — annotate, present, zoom, capture, then toggle it away.
(0.9.x on Fedora KDE)
while drawing at 120 FPS
(144/240+ configurable)
one TOML file
Local measurements, honestly labelled — details in performance.
From install to drawing in three steps
Install the package
Native repos for Debian/Ubuntu and Fedora, AUR for Arch, a Nix flake, or one-off .deb/.rpm downloads. Pick your distro ↓
Bind one key
Run the daemon and bind wayscriber --daemon-toggle to a global shortcut — or let the configurator set up both for you.
systemctl --user enable --now wayscriber.serviceDraw over anything
Hit your key and the overlay appears — pen, shapes, text, boards, zoom. F1 shows the cheat sheet, Esc hides it again.
A full annotation studio, one keybind away
Everything below ships in the box — no plugins, no accounts, no Electron.

The full drawing toolkit
Pen, highlighter and eraser; lines, rectangles, ellipses and fillable polygons; arrows with auto-numbered labels; step markers; blur; multiline text and sticky notes; plus a screen eyedropper with a magnified pixel loupe — all with full undo/redo.

Command palette
Every action is searchable. Press Ctrl+K or Ctrl+Shift+P and type.

Radial menu at the cursor
Middle-click for tools and colors right where you're pointing; scroll adjusts size.

Boards & pages
Transparent overlay, whiteboard, blackboard, blueprint or corkboard backgrounds. Every board keeps isolated pages with auto-contrast pens. Jump slots Ctrl+Shift+1..9, pan solid boards with Space+drag.

Floating toolbars — now GTK4
Two frontends: crisp GTK4-rendered bars on layer-shell compositors, with automatic fallback to the built-in Cairo bars everywhere else. Pin, unpin or hide them (F2/F9).
Sessions that survive
Boards, undo history and tool state persist across restarts by default — per monitor. Named .wayscriber-session files let you keep separate workspaces per project or talk.
Crash-safe: sessions are compressed, backed up, and recovered automatically.
Zoom & presenter mode
ZoomIt-style zoom with Ctrl+Alt+scroll, zoom lock and pan — plus click highlights and screen freeze for demos.
Light passthrough
Click through the overlay while your drawings stay visible — keep working under your notes (layer-shell compositors).
Capture & PDF export
Grab the full screen, a window or a region — to clipboard or PNG. Export boards as multi-page PDFs, optionally with the live desktop behind transparent pages.
Select, move, paste
A real selection tool: move, duplicate, restack, edit properties — and paste PNG/JPEG images straight from the clipboard onto the canvas.
Tablet, pen & touch
Native tablet support (zwp_tablet_v2) with pressure, enabled out of the box — alongside mouse and touchscreen.
Multi-monitor
Move the overlay between outputs with a shortcut; toolbars follow the active display, and sessions can be scoped per output.
Make it yours
~130 rebindable actions, a configurable quick-color palette, presets 1–5, and one well-documented TOML file — or skip the file and use the GUI configurator.
Fast by default
Vsync off with a 120 FPS cap for low-latency ink; raise it to 144/240+ if your display keeps up. The numbers ↓
See it in action
Short clips, loaded only when you press play.
Flip through pages on a board, and swap tool + color + size in one keystroke with presets 1–5.
The right-click context menu, the selection tool, and switching between boards.
Paste an image from the clipboard, then click through the overlay in light passthrough mode while the notes stay visible.
Pan around solid boards with Space+drag — the canvas is bigger than the screen.
Multiline text: place it, edit it, move it, restyle it.
Sticky notes with editable text — press N, click, type.
ZoomIt-style magnification: Ctrl+Alt+scroll to zoom, lock it, pan around.
The complete walkthrough — tools, boards, zoom and capture in one take.
A closer look
Click any image to enlarge.
Ink that keeps up with your hand
Native Wayland, native code. A Rust binary drawing straight to layer-shell surfaces — no Electron, no webview, no compositor tricks.
Low latency by default. Vsync is off with a 120 FPS cap; in local input-to-commit measurements that held p95/p99 around 8–9 ms during continuous drawing.
Light on memory. Recent 0.9.x builds measured around 14 MB resident on Fedora KDE while idling as a daemon.
Tunable. Prefer tear-free rendering or quieter fans? Flip vsync back on. Chasing a 240 Hz display? Raise the cap.
Honest numbers: latency is input-sample receipt to Wayland surface commit, not end-to-end display latency. Measure yourself with WAYSCRIBER_PERF_LOG=1.
# config.toml
[performance]
buffer_count = 3 # balanced buffering
enable_vsync = false # lower drawing latency
max_fps_no_vsync = 240 # for a fast display + GPU
ui_animation_fps = 60 # smoother UI effectsbuffer_count = 3 is the balanced default; more buffers use more memory and do not raise the FPS cap. This 240/60 example targets high-refresh systems—the defaults are 120 FPS for drawing and 30 FPS for UI effects.
Works with your compositor
Any compositor speaking wlr-layer-shell gets the complete experience, light passthrough included.
Runs via an xdg-fullscreen fallback: normal overlay works, screen freeze works via the portal — but light passthrough isn't possible on stock GNOME Wayland.
wayscriber is Wayland-native by design.
Tested on Ubuntu 25.10, Fedora 43 (KDE & GNOME), Debian 13.2, CachyOS, and Arch with Hyprland/Niri.
Up and running in a minute
Native repos with auto-updates where possible. Full details live in the docs.
sudo install -d /usr/share/keyrings
curl -fsSL https://wayscriber.com/apt/WAYSCRIBER-GPG-KEY.asc | sudo gpg --dearmor -o /usr/share/keyrings/wayscriber.gpg
echo "deb [signed-by=/usr/share/keyrings/wayscriber.gpg] https://wayscriber.com/apt stable main" | sudo tee /etc/apt/sources.list.d/wayscriber.list
sudo apt update
sudo apt install wayscriberNeeds Ubuntu 25.04+ or Debian 13 (trixie)+ — the packages depend on libgtk4-layer-shell0. Derivatives on a new-enough base work too, but current Mint 22 and Pop!_OS 22.04 don't ship that library — build from source there (GTK-less build on Pop!_OS 22.04).
More options: one-off .deb, configurator
One-off .deb (no auto-updates)
wget -O wayscriber-amd64.deb https://github.com/devmobasa/wayscriber/releases/latest/download/wayscriber-amd64.deb
sudo apt install ./wayscriber-amd64.debOptional GUI configurator
sudo apt install wayscriber-configuratorcat <<'EOF' | sudo tee /etc/yum.repos.d/wayscriber.repo
[wayscriber]
name=Wayscriber Repo
baseurl=https://wayscriber.com/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://wayscriber.com/rpm/RPM-GPG-KEY-wayscriber.asc
EOF
sudo dnf clean all
sudo dnf install wayscriberFedora, RHEL, Rocky, Alma, Nobara and friends.
More options: one-off .rpm, configurator
One-off .rpm (no auto-updates)
wget -O wayscriber-x86_64.rpm https://github.com/devmobasa/wayscriber/releases/latest/download/wayscriber-x86_64.rpm
sudo dnf install ./wayscriber-x86_64.rpmOptional GUI configurator
sudo dnf install wayscriber-configuratorparu -S wayscriber-bin # prebuilt; or: yay -S wayscriber-binAUR packages: wayscriber-bin (prebuilt), wayscriber (builds from source), wayscriber-configurator.
More options: build from source, configurator
Build from source via AUR
paru -S wayscriber # or: yay -S wayscriberOptional GUI configurator
paru -S wayscriber-configuratornix profile install github:devmobasa/wayscribernix run github:devmobasa/wayscriber -- --active # or just try it, no installFlakes required. The configurator ships as github:devmobasa/wayscriber#wayscriber-configurator.
Then: enable the daemon and bind a key
The packages bundle a systemd user service, the tray icon, and the capture helpers (grim, slurp, wl-clipboard).
systemctl --user enable --now wayscriber.servicebind = SUPER, D, exec, wayscriber --daemon-toggleGNOME / KDE shortcuts, one-shot mode, build from source
GNOME
Settings → Keyboard → Custom Shortcuts → add wayscriber --daemon-toggle. On Ubuntu GNOME, Super+G is a good choice (Super+D is often taken).
KDE Plasma
Settings → Keyboard → Shortcuts → add a Command or Script running wayscriber --daemon-toggle (e.g. Meta+Shift+D).
No-CLI path
Open wayscriber-configurator → Daemon tab → Install/Update Service, Enable + Start, then Apply Shortcut. It writes the GNOME custom shortcut or KDE portal global shortcut for you.
One-shot mode (no daemon)
wayscriber --active # overlay now
wayscriber --active --mode whiteboard # straight to a board
wayscriber --freeze # start with screen frozenBuild from source
Rust 1.95+ and a C toolchain; see the README for per-distro dependency lists, including the GTK-less build for older distros like Pop!_OS 22.04.
Muscle memory in a dozen shortcuts
Everything is rebindable — these are the defaults.
More defaults: boards, pages, selection
| Boards | Whiteboard Ctrl+W · Blackboard Ctrl+B · back to transparent Ctrl+Shift+T · picker Ctrl+Shift+B · slots Ctrl+Shift+1..9 |
|---|---|
| Pages | Prev/next Ctrl+Alt+←/→ · new Ctrl+Alt+N · duplicate Ctrl+Alt+D |
| Selection | Duplicate Ctrl+D · copy/paste Ctrl+Alt+C/Ctrl+Alt+V · restack ]/[ · properties Ctrl+Alt+P |
| Presenting | Click highlight Ctrl+Shift+H · freeze Ctrl+Shift+F · light passthrough F6 · radial menu Middle-click |
| Shapes | Ellipse Tab+drag · eraser D · clear all E · highlight brush Ctrl+Alt+H |
F6 only works while the overlay is focused — once passthrough is active, wayscriber may no longer receive it. Bind a compositor/global shortcut to wayscriber --light-toggle to get back out reliably.
The screen eyedropper defaults to I and is also available from both color interfaces and Ctrl+K. Rebind keybindings.colors.pick_screen_color in your config or the configurator if you prefer another key.
Press F1 in-app for the complete cheat sheet, or read the docs.
A GUI for every option
- Native Rust GUI (Iced) that edits the same
config.toml— with validation, defaults and automatic backups. - Installs and manages the daemon service, and applies global shortcuts on GNOME and KDE — Hyprland gets a ready-made include for the light-passthrough binds.
- Manages sessions: rename, duplicate, move or clear saved boards and tool state.
- Launch it any time with F11 from the overlay, or run
wayscriber-configurator. Ships as its own optional package.
Ethos
“wayscriber is shared as a gift exchange, not a contract.”
Free, MIT-licensed, and actively developed — with no guaranteed timelines or support. Contributions are welcome, especially compositor testing, multi-monitor reports and new drawing tools. Read the full ethos · Contributing guide