Skip to content

Repository files navigation

Omascribe

screenrecording-2026-08-11_13-08-11.webm

Omascribe is a small native Wayland overlay for drawing live annotations over any app. It is built for Omarchy and Hyprland in C++23 with Qt 6 and LayerShellQt.

Unlike a screenshot editor, Omascribe does not capture or freeze the screen. The desktop stays live underneath a transparent annotation canvas until you press Esc.

Current features

  • Pen and translucent highlighter
  • Lines, arrows, rectangles, and ellipses
  • Single-line text annotations
  • Stroke eraser, clear, undo, and redo
  • Six presentation colors, a custom color picker, and adjustable tool size
  • Compact toolbar that can be hidden while presenting
  • Opens on the monitor containing the pointer
  • Single-instance protection

Annotations currently live for one overlay session. Saving, persistent sessions, multi-monitor canvases, click-through presenter mode, and a background daemon are future work rather than hidden runtime behavior.

Build

On Omarchy, the installer obtains the native dependencies and installs into ~/.local:

./install-omarchy

For a local development build:

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build --parallel
QT_QPA_PLATFORM=offscreen ctest --test-dir build --output-on-failure

Required packages are cmake, ninja, qt6-base, and layer-shell-qt.

Omarchy binding

Stock Omarchy leaves Super+D free, so it is the recommended binding. Add it to a user-owned Hyprland Lua config loaded after Omarchy defaults:

o.bind("SUPER + D", "Annotate screen", "omascribe")

hl.layer_rule({
  match = { namespace = "^omascribe$" },
  no_anim = true,
  animation = "none",
})

If Super+D is already assigned by a personal override or another annotation tool, choose a different key instead of replacing it unintentionally.

Reload and verify after editing the configuration:

hyprctl reload
hyprctl configerrors

The installer deliberately does not modify Hyprland configuration.

Controls

Input Action
F Freeform
H Highlighter
L Line
A, Ctrl+Shift + drag Arrow
Ctrl + drag Rectangle; tapping Ctrl also selects it
Tab, then drag Ellipse
T Text; click, type, then press Enter
X Eraser
C Cycle color
R, O, Y, G, B, P Red, orange, yellow, green, blue, purple
Click color toolbar icon Preset swatches and custom color picker
Mouse wheel, [, ], -, + Change size
Right click, Ctrl+Z Undo
Ctrl+Shift+Z, Ctrl+Y Redo
E, Ctrl+Backspace Clear everything
F9 Hide or show toolbar
Esc Close overlay

Scope

The first release targets Wayland, Hyprland, and Omarchy. Layer-shell is required; X11 and generic desktop-window fallbacks are intentionally outside the initial scope.

Inspiration

Omascribe is inspired by two excellent Wayland tools:

  • Wayscriber — its live screen annotation workflow and presentation-focused controls.
  • Omasnap — its native C++/Qt approach and polished annotation toolbar.

Omascribe is an independent implementation focused specifically on lightweight live annotations for Omarchy.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages