Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
W

wayscriber

> 编程语言
Open source

Live overlay for drawing, annotating with zoom, hiding text, and capturing screenshots on Linux. Can be used as whiteboard or blackboard. Highly customisable. W

667 stars0 likes1 views
WebsiteGitHub

About

Live overlay for drawing, annotating with zoom, hiding text, and capturing screenshots on Linux. Can be used as whiteboard or blackboard. Highly customisable. W

wayscriber

A ZoomIt-like real-time screen annotation tool for Linux/Wayland, written in Rust.

Draw over any app, present with callouts and zoom, keep your boards between sessions. Toggle the lightweight daemon with one keybind.

Docs: https://wayscriber.com/docs/

More screenshots

Radial tool menu
Boards & pages
Blackboard
Whiteboard
Advanced toolbar
Command palette
Built-in controls (F1)
Simple toolbar

Demo video

View demo (wayscriber.com)

https://github.com/user-attachments/assets/4b5ed159-8d1c-44cb-8fe4-e0f2ea41d818


Table of contents

  • Why wayscriber?
  • Features
  • Installation
    • Debian and Ubuntu
    • Fedora and RHEL
    • Arch Linux (AUR)
    • NixOS and Nix
    • GitHub Releases (one-off)
    • From source
    • Screenshot tools
  • First launch
  • Usage
    • Daemon mode (recommended)
    • One-shot mode (alternative)
    • Light passthrough mode
    • Screenshots and export
  • Getting help
  • Controls reference
  • Configuration
    • Configurator (GUI)
  • Troubleshooting
  • Contributing
  • Roadmap
  • License and credits

Why wayscriber?

  • Annotate live over any app without disrupting your workflow
  • Professional presentation tools: presenter mode, numbered callouts, click highlights, screen freeze, zoom
  • Persistent sessions that survive restarts
  • Native Wayland performance with ZoomIt-like controls
  • Lightweight daemon with instant toggle via keybind

Platform support

Platform Status Notes
Wayland (layer-shell) ✅ Supported Hyprland, Sway, River, Wayfire, Niri/Cosmic, Plasma/KWin
GNOME ⚠️ Partial Normal overlay and Freeze via portal when available; light passthrough unavailable
X11 ❌ Not supported

The v0.9.23+ prebuilt wayscriber packages require glibc 2.39 and GTK 4.12. See the notes in Debian and Ubuntu and Fedora and RHEL. The AUR packages and Nix are unaffected.

Tested environments

  • Ubuntu 25.10 GNOME (xdg fallback)
  • Fedora 43 KDE (Plasma, layer-shell)
  • Fedora 43 GNOME (xdg fallback)
  • Debian 13.2 KDE (Plasma, layer-shell)
  • Debian 13.2 GNOME (xdg fallback)
  • CachyOS 2025-August KDE (Plasma, layer-shell)
  • Hyprland on Arch (layer-shell)
  • Niri on Arch (layer-shell)

Comparison with ZoomIt

Feature ZoomIt (Windows) wayscriber
Drawing tools ✅ ✅
Boards/Backgrounds ✅ ✅
Multi-line text ❌ ✅
Custom fonts ❌ ✅
Config file ❌ ✅
Help overlay ❌ ✅
Zoom ✅ ✅
Break timer ✅ ❌

Features

Drawing and editing

  • Freehand pen, highlighter, eraser (circle/rect)
  • Pen smoothing: finished pen and marker strokes are cleaned up on release, so the live line never lags the cursor ([drawing] pen_smoothing, 0-6, or the toolbar's Smoothing stepper); tablet pressure values are preserved, and the level is remembered with the session
  • Shapes: lines, rectangles, ellipses, polygons (with fill toggle)
  • Arrows in four styles - standard, pointy, curved (drag its handle to route around what is in the way), and double-ended - with optional auto-numbered labels; step markers for walkthroughs
  • Blur tool with four styles: soften, pixelate, secure (flattens the region to one color), and black out
  • Spotlight tool: dims everything except the regions you draw, with optional 1×–4× magnification
  • Multiline text and sticky notes with smoothing; optional text halos take their contrast from the background the label sits on, so a label stays readable over a board, a filled shape, or a frozen screen (disable with [drawing] text_halo_enabled = false; a live transparent board has no pixels to sample and falls back to the text color)
  • Selection: Alt-drag, V tool, properties panel
  • Duplicate (Ctrl+D), delete (Delete), undo/redo
  • Color picker, screen eyedropper with a magnified pixel loupe, palettes, size via hotkeys or scroll
  • Text font cycling with Shift+T over a configurable list ([drawing] font_cycle); with text selected it restyles that text
  • Font picker over every installed family (Font Picker in the command palette, or the toolbar's current-family button), with search, a monospace filter, wheel scrolling, accelerating arrow-key repeat, and each row drawn in its own font
  • Render color profiles for print/projector/light-theme preview
  • Radial menu at cursor (Middle-click): quick tool/color selection with recent colors, press-flick-release tool commits, plus a draggable outer size ring and scroll size adjust

Boards

  • Named boards with transparent overlay or custom backgrounds
  • Cartesian graph paper, isometric lines, and isometric dots with adjustable spacing
  • Isolated pages per board with auto-contrast pens
  • Pan solid boards with Space + left-drag; reset from the context menu
  • Jump slots: Ctrl+Shift+1..9
  • Toggle whiteboard/blackboard
  • Board picker: Ctrl+Shift+B

Capture and screenshots

  • Full-screen saves, active-window grabs, region capture
  • Copy to clipboard or save to file
  • Uses grim, slurp, wl-clipboard (installed automatically by deb/rpm/AUR packages; fallback: xdg-desktop-portal)
  • Copy text from screen (OCR): press Ctrl+Shift+X. Drag a desktop region, or press Ctrl+A for the whole desktop. The recognized text goes to the clipboard. Requires tesseract.

Sessions and persistence

  • Session persistence is enabled by default for boards, undo/redo history, and tool state
  • Per-output default sessions, plus named session files with --session-file
  • Overlay Session panel, configurator Session tab, tray toggle, and CLI overrides
  • See Session manager and persistence for the full workflow

Toolbar and UI

  • Unified floating toolbar (F9 toggles visibility; F2 cycles the top strip full → micro chip → hidden)
  • Two toolbar frontends: GTK4-rendered bars on layer-shell compositors (Hyprland, KWin, Wayfire, River, ...), with automatic fallback to the built-in Cairo bars everywhere else (GNOME xdg fallback, forced-inline mode, builds without the toolbar-gtk feature)
  • Pick a frontend explicitly with ui.toolbar.backend = "auto" | "gtk" | "builtin" or WAYSCRIBER_TOOLBAR_BACKEND
  • Preset slots, icon or text modes
  • Color picker with extended palettes and a screen eyedropper (toolbar, popup, or command palette)
  • Status bar with independently configurable output, selection, board, page, color, tool, size, context, toolbar-hint, Help, and About/version items
  • Help overlay (F1), quick reference (Shift+F1)
  • Command palette (Ctrl+K or Ctrl+Shift+P)
  • Search, run, edit, unbind, or reset action shortcuts from the command palette. Hold Ctrl+Shift and click a bindable toolbar control to record its shortcut. You can configure this modifier chord. Wayscriber saves only that action's entry to config.toml and creates a timestamped .bak backup. Press Ctrl+Shift+E on a palette row to open the same shortcut in the configurator

Multi-monitor

  • Move overlay focus between monitors: Ctrl+Alt+Shift+←/Ctrl+Alt+Shift+→
  • Toolbars and status bar follow the active output when output focus changes
  • Optional active output badge in status bar (ui.active_output_badge)
  • Output-scoped session restore when session.per_output = true
  • GNOME fallback output pinning via ui.preferred_output or WAYSCRIBER_XDG_OUTPUT

Presets

  • Save tool + color + size (plus fill/opacity/text) into 3–5 slots
  • Apply: 1–5; save: Shift+1–Shift+5

Presenter tools

  • Click highlights with configurable colors/radius/duration
  • Persistent ring while the click highlight tool is active
  • Presenter mode (Ctrl+Shift+M): hides UI, forces click highlights
  • Input HUD (Ctrl+Shift+K): on-screen keystroke and click chips for demos and screencasts (optional system-wide capture through the input-monitor build feature). See docs/CONFIG.md
  • Light passthrough (layer-shell): draw while input passes through to the app underneath. See Light passthrough mode
  • Screen freeze (Ctrl+Shift+F): pause the display while apps keep running. Freeze prefers compositor-native wlr-screencopy or ext-image-copy-capture and falls back to the screenshot portal when available
  • Spotlight: drag an ellipse to dim everything around it; stack several to highlight multiple areas. Each Spotlight can magnify its opening from 1× to 4×, while dim strength and edge softness remain shared under [spotlight]. Magnification uses complete pixels from a solid board, Freeze, Zoom, or a captured/export backdrop; a live transparent board keeps the ordinary opening and prompts you to Freeze.

Callouts and zoom

  • Numbered callouts: auto-numbered arrow labels and step markers; reset arrow labels with Ctrl+Shift+R
  • Zoom: spotlight details with ZoomIt-style controls
    • Zoom in/out: Ctrl+Alt + scroll or Ctrl+Alt + +/-
    • Reset: Ctrl+Alt+0; lock view: Ctrl+Alt+L
    • Pan: middle drag or arrow keys
    • Right-click menu: Zoom → Zoom In / Zoom Out / Reset Zoom

Installation

Pick the path that matches your setup:

You want Use
Fast CLI install with auto-updates on Debian/Ubuntu/Mint/Pop!_OS Debian and Ubuntu
Fast CLI install with auto-updates on Fedora/Nobara or RHEL/Rocky/Alma 10+ Fedora and RHEL
Arch, Manjaro, CachyOS, or another Arch-based distro AUR or direct release installer; prefer wayscriber-bin when the AUR is available
NixOS, or the Nix package manager on another distro NixOS and Nix: nixpkgs for the standard install, the project flake for the newest release and the Configurator
One-off package (browser or terminal) without adding a repo GitHub Releases
Hacking on wayscriber or building a local binary From source

Distro repositories, the AUR, and declarative NixOS installs are the best default for CLI users because they follow the normal system update flow. Packages installed with nix profile are updated separately with nix profile upgrade. GitHub .deb/.rpm downloads and the direct Arch release installer are not automatic update channels; rerun or replace them when you want a newer release.

Install the main wayscriber package first. wayscriber-configurator is an optional GUI settings app and does not include the wayscriber binary.

Debian and Ubuntu

Also use this path for Linux Mint, Pop!_OS, and other Debian-based distros.

Wayscriber v0.9.23+ requires Ubuntu 24.04+ or Debian 13 (trixie) or newer. This includes Linux Mint 22+ and Pop!_OS 24.04+. These release packages require glibc 2.39 and GTK 4.12, and embed the pinned GTK4 layer-shell integration, so no separate libgtk4-layer-shell0 package is needed. Pop!_OS 22.04 remains below the GTK requirement; use the GTK-less source build there.

bash
sudo apt update
sudo apt install curl gpg
sudo install -d -m 0755 /usr/share/keyrings
curl -fsSL https://wayscriber.com/apt/WAYSCRIBER-GPG-KEY.asc | gpg --dearmor | sudo tee /usr/share/keyrings/wayscriber.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/wayscriber.gpg] https://wayscriber.com/apt stable main" | sudo tee /etc/apt/sources.list.d/wayscriber.lis

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustannotationsarch-linuxarchlinuxhyprland

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言