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.
Tap to load the demo video when you're ready—it's about 8 MB.
The native configurator (F11) lets you customize colors, fonts, and behaviors without editing config files.
Zoom and pan the canvas to call out details while presenting.
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)
- Click +, name it Wayscriber Toggle.
- Command:
pkill -SIGUSR1 wayscriber. - 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.
Install (GNOME / RPM)
Repo (auto-updates)
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 configurator: sudo apt install wayscriber-configurator.
Set up & use (KDE)
Keep the daemon running
systemctl --user enable --now wayscriber.service
Create a global shortcut
- Open Settings → Keyboard → Shortcuts.
- Select Add new → Command or Script, then click OK.
- Set Command to
pkill -SIGUSR1 wayscriber. - Set Name to Wayscriber Toggle.
- Assign a key (e.g., Meta+Shift+D) and apply.
Quick one-shot
wayscriber --active
Install
Repo (auto-updates)
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 configurator: install wayscriber-configurator from the repo or the release .deb.
Set up & use (GNOME)
Daemon toggle for any desktop/WM
systemctl --user enable --now wayscriber.service
Bind this command to a shortcut
pkill -SIGUSR1 wayscriber
One-shot (no service)
wayscriber --active
Tip: F11 opens the configurator when installed; F1 shows help (F10 alt).
Install
Repo (auto-updates, recommended)
cat <<'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 wayscriber
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 rpm -Uvh wayscriber-x86_64.rpm
Optional GUI configurator: sudo dnf install wayscriber-configurator (repo) or install the matching .rpm.
Set up & use
Keep the daemon running
systemctl --user enable --now wayscriber.service
GNOME shortcut (Settings → Keyboard → Custom Shortcuts)
- Click +, name it Wayscriber Toggle.
- Command:
pkill -SIGUSR1 wayscriber. - Set a key (e.g., Ctrl+Shift+D).
One-shot
wayscriber --active
Install (KDE / RPM)
Repo (auto-updates, recommended)
cat <<'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 wayscriber
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 rpm -Uvh wayscriber-x86_64.rpm
Optional GUI configurator: sudo dnf install wayscriber-configurator (repo) or install the matching .rpm.
Set up & use (KDE)
Keep the daemon running
systemctl --user enable --now wayscriber.service
Create a global shortcut
- Open Settings → Keyboard → Shortcuts.
- Select Add new → Command or Script, then click OK.
- Command:
pkill -SIGUSR1 wayscriber. - Name: Wayscriber Toggle.
- Set a key (e.g., Meta+Shift+D) and apply.
One-shot
wayscriber --active
Ensure systemctl --user enable --now wayscriber.service is active so the toggle works.
Install (AUR)
Pick helper + package type
yay
yay -S wayscriber
yay -S wayscriber-bin
wayscriber = builds from source; wayscriber-bin = prebuilt binaries for faster installs.
paru
paru -S wayscriber
paru -S wayscriber-bin
wayscriber = builds from source; wayscriber-bin = prebuilt binaries for faster installs.
Optional GUI configurator: install wayscriber-configurator with your helper.
Set up & use
Daemon (recommended)
systemctl --user enable --now wayscriber.service
Hyprland example binding
bind = SUPER, D, exec, pkill -SIGUSR1 wayscriber
One-shot (no service)
wayscriber --active
Tip: Apply similar bindings in Sway, River, or other WMs using the same toggle command.
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 usersShow 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
- Open Settings → Keyboard → Keyboard Shortcuts.
- Scroll to the bottom, select Custom Shortcuts, then click + (Add).
- Set Name to Wayscriber Toggle.
- Set Command to
pkill -SIGUSR1 wayscriber. - 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
- Open Settings → Keyboard → Shortcuts.
- Select Add new → Command or Script, then click OK.
- Command:
pkill -SIGUSR1 wayscriber. - Name: Wayscriber Toggle.
- 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