Screen Annotation for Wayland

A ZoomIt-like screen annotation tool for Linux, written in Rust

Includes built-in zoom for quick callouts and spotlights.

Works on GNOME, KDE, Hyprland, Sway, River, and other compositors with wlr-layer-shell

This project is a gift exchange, not a contract. Read the ethos.

Watch wayscriber in action

See how quickly you can highlight, annotate, and guide your audience with real-time drawing tools.

wayscriber pages and presets preview
GIF preview (top) · loads on demand to save data.

Video demo (bottom) · plays only when you press play. Switch between pages and load tool presets so every scene starts ready.

What is wayscriber?

wayscriber is a powerful screen annotation tool designed for Linux desktops (Wayland compositors). Perfect for live presentations, classroom sessions, and screenshares, it lets you toggle drawing mode with a single key, save tool presets, and annotate your screen instantly without breaking your flow.

Small memory footprint: v0.9.7 on Fedora KDE runs at about 14 MB RAM.

Features at a Glance

Drawing Tools

  • Freehand pen
  • Straight lines
  • Rectangles
  • Ellipses & circles
  • Arrows
  • Auto-numbered arrows
  • Multi-line text annotations
  • Sticky notes (N)
  • Step markers (numbered bubbles)
  • Highlight brush + marker tools
  • Eraser tool

Board Modes

  • Whiteboard mode
  • Blackboard mode
  • Named boards + custom backgrounds
  • Auto pen contrast
  • Isolated frames
  • Transparent overlay
  • Board pages for multi-step guides

Customization

  • Quick color palette (8 colors)
  • Adjustable line thickness
  • Custom fonts (Pango)
  • Scroll wheel adjustments
  • Customizable toolbars (show/hide sections)
  • TOML configuration file

Presets

  • Save tool + color + size combos
  • Apply presets instantly (1-5)
  • Save presets quickly (Shift+1-5)
  • Optional toasts and toolbar slots

User Experience

  • Status bar with live feedback
  • In-app help overlay (F1, F10 alt)
  • Quick reference (Shift+F1)
  • Native configurator (F11)
  • Freeze mode (Ctrl+Shift+F or --freeze argument at start)
  • Presenter mode (Ctrl+Shift+M)
  • Command palette (Ctrl+K)
  • Session persistence with tray/config toggle
  • Selection properties panel (Ctrl+Alt+P)
  • Background daemon mode
  • System tray integration

Zoom & Callouts

  • Zoom in/out Ctrl+Alt + scroll or Ctrl+Alt++ / Ctrl+Alt+-
  • Reset zoom instantly Ctrl+Alt+0
  • Lock the zoomed view Ctrl+Alt+L
  • Pan the zoom window Middle drag or arrow keys

Install & Set Up

Pick your desktop to get both installation steps and the best way to start/trigger wayscriber.

Install (GNOME / RPM)

Repo (auto-updates, recommended)

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 wayscriber

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.deb
Optional: install the configurator (GUI)

Repo package

sudo apt install wayscriber-configurator

Prefer a one-off install? Grab the matching .deb from the release page.

Set up & use (GNOME)

Keep the daemon running

systemctl --user enable --now wayscriber.service

Add a GNOME shortcut (Settings → Keyboard → Custom Shortcuts)

  1. Click +, name it Wayscriber Toggle.
  2. Command: pkill -SIGUSR1 wayscriber.
  3. Set a key (e.g., Ctrl+Shift+D).

One-shot without the daemon

wayscriber --active

F1 shows help (F10 alt), F11 opens the configurator when installed.

Build from Source (advanced)

For contributors and power users
Show build steps Collapsed by default

Install dependencies (pick your distro):

Ubuntu / Debian

sudo apt-get install build-essential pkg-config libxkbcommon-dev libcairo2-dev libwayland-dev libpango1.0-dev

Fedora

sudo dnf install gcc gcc-c++ make pkgconf-pkg-config cairo-devel wayland-devel pango-devel libxkbcommon-devel cairo-gobject-devel

Screenshot tools (source/tarball only):

Ubuntu / Debian

sudo apt-get install wl-clipboard grim slurp

Fedora

sudo dnf install wl-clipboard grim slurp

Then build:

git clone https://github.com/devmobasa/wayscriber.git
cd wayscriber
cargo build --release

Don't have Rust yet? Install it with rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

How to Use

Daemon Mode (Background Service)

Preferred

Recommended: faster to toggle, more reliable, and better for daily use.

Run wayscriber in the background and toggle with a keybind:

# Enable the service
systemctl --user enable --now wayscriber.service
Hyprland keybinding steps

Add to ~/.config/hypr/hyprland.conf:

bind = SUPER, D, exec, pkill -SIGUSR1 wayscriber

Reload Hyprland:

hyprctl reload
Ubuntu (GNOME) keybinding instructions
  1. Open Settings → Keyboard → Keyboard Shortcuts.
  2. Scroll to the bottom, select Custom Shortcuts, then click + (Add).
  3. Set Name to Wayscriber Toggle.
  4. Set Command to pkill -SIGUSR1 wayscriber.
  5. Click Set Shortcut and press Ctrl+Shift+D.

Make sure the wayscriber daemon is running; this shortcut sends it the toggle signal.

Ubuntu (KDE) keybinding instructions
  1. Open Settings → Keyboard → Shortcuts.
  2. Select Add new → Command or Script, then click OK.
  3. Command: pkill -SIGUSR1 wayscriber.
  4. Name: Wayscriber Toggle.
  5. Set a key (e.g., Meta+Shift+D) and apply.

Ensure systemctl --user enable --now wayscriber.service is active so the toggle works.

One-Shot Mode (Simple)

Quick launch for occasional use; exit when done:

wayscriber --active
Hyprland keybinding (one-shot)

Add to ~/.config/hypr/hyprland.conf:

bind = SUPER, D, exec, wayscriber --active

Press F1 for help (F10 alt), Shift+F1 for quick reference, F11 for configurator, toggle toolbars with F2 (F9 alt), freeze with Ctrl+Shift+F, enter presenter mode with Ctrl+Shift+M, open the command palette with Ctrl+K, exit with Escape/Ctrl+Q, and toggle the status bar with F4 (F12 alt).

Session Continuity

Enable Session storage in the configurator to pick up where you left off. wayscriber keeps per-monitor boards, pen color, and thickness between launches, and you can disable the feature anytime for a clean slate.

Quick Controls Reference

Drawing

  • Freehand: Drag with mouse
  • Line: Shift + drag
  • Rectangle: Ctrl + drag
  • Ellipse: Tab + drag
  • Arrow: Ctrl+Shift + drag
  • Text: Press T, click, type
  • Sticky note: Press N, click, type

Modes

  • Whiteboard: Ctrl+W
  • Blackboard: Ctrl+B
  • Transparent: Ctrl+Shift+T

Colors

  • R - Red
  • G - Green
  • B - Blue
  • Y - Yellow
  • O - Orange
  • P - Pink
  • W - White
  • K - Black

Editing

  • Undo: Ctrl+Z
  • Redo: Ctrl+Shift+Z
  • Clear all: E
  • Toolbars: F2 / F9
  • Help: F1 (F10)
  • Configurator: F11
  • Command palette: Ctrl+K
  • Status bar: F4 / F12
  • Selection props: Ctrl+Alt+P
  • Freeze: Ctrl+Shift+F
  • Exit: Escape / Ctrl+Q

Presets

  • Apply: 1 - 5
  • Save: Shift+1 - Shift+5
  • Clear: Set in config

Zoom

  • Zoom in/out: Ctrl+Alt + scroll
  • Step zoom: Ctrl+Alt++ or Ctrl+Alt+-
  • Reset: Ctrl+Alt+0
  • Lock: Ctrl+Alt+L
  • Pan: Middle drag or arrows

Ready to Get Started?

Check out the full documentation and source code on GitHub

View on GitHub