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

Watch wayscriber in action

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

wayscriber quick preview animation placeholder

Tap to load the demo video when you're ready—it's about 8 MB.

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 and annotate your screen instantly without breaking your flow.

Features at a Glance

Drawing Tools

  • Freehand pen
  • Straight lines
  • Rectangles
  • Ellipses & circles
  • Arrows
  • Multi-line text annotations
  • Highlight brush (Ctrl+Alt+H)
  • Marker tool
  • Eraser tool

Board Modes

  • Whiteboard mode
  • Blackboard mode
  • Auto pen contrast
  • Isolated frames
  • Transparent overlay

Customization

  • Quick color palette (8 colors)
  • Adjustable line thickness
  • Custom fonts (Pango)
  • Scroll wheel adjustments
  • TOML configuration file

User Experience

  • Status bar with live feedback
  • In-app help overlay (F1, F10 alt)
  • Native configurator (F11)
  • Freeze mode (Ctrl+Shift+F or --freeze argument at start)
  • Session persistence between launches (opt-in)
  • 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 GUI: sudo apt install wayscriber-configurator (repo) or install the matching .deb release.

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.

Optional Screenshot Tools

For the fastest screenshot workflow, install:

Debian / Ubuntu

sudo apt-get install wl-clipboard grim slurp

Fedora

sudo dnf install wl-clipboard grim slurp

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

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

One-Shot Mode (Simple)

Launch wayscriber when you need it, exit when done:

wayscriber --active
Hyprland keybinding (one-shot)

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

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

Daemon Mode (Background Service)

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.

Press F1 for help (F10 alt), F11 for configurator, toggle toolbars with F2 (F9 alt), 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

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
  • Status bar: F4 / F12
  • Exit: Escape / Ctrl+Q

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