Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shmooz

Zoom, annotate, and capture the current Wayland view.

shmooz is a Wayland presentation and screenshot tool. It lets you zoom into an output, add simple annotations, dim the rest of the screen with a spotlight, and save or copy exactly what is visible.

Screenshots

  • Flow
recording-20260511-15h23.mp4
  • Annotation
image
  • Spotlight
image
  • Color Picker
image
  • Pres ? for help
image

Features

  • Zoom and pan the current output.
  • Zoom into a custom screen area using Shift + Left drag.
  • Toggle a spotlight around the pointer.
  • Annotate with pen, highlighter, line, rectangle, ellipse, text, and move tools.
  • Pick from a shared annotation color palette and adjust text size while annotating.
  • Pick the color under the pointer and copy it as a hex value.
  • Save the visible view as a screenshot or copy it to the Wayland clipboard.

Usage

shmooz [options...]

Options

  • -h, --help - Show help and exit
  • --map-close KEY - Set the close key
  • --output NAME - Use a specific output
  • --zoom-in PERCENT - Start zoomed in
  • --invert-scroll - Invert scroll direction
  • --spotlight - Start with spotlight enabled
  • --screenshot-dir DIR - Set the screenshot directory
  • --no-indicator - Hide the on-screen indicator

Controls

Navigation

  • Scroll - Zoom at the pointer
  • Shift + Left drag - Draw a box to zoom that area
  • Left drag - Pan
  • + / - - Zoom at screen center
  • Arrow keys - Pan
  • 0 - Reset view
  • f - Toggle spotlight
  • Right click - Exit
  • Double click - Reset view

Color picker

  • i - Toggle the color picker
  • Mouse move - Update the swatch
  • Left click - Copy the picked hex color
  • Esc - Leave the color picker

Annotation

  • d - Draw on the current zoomed view
  • w - Draw on the full view
  • p / h / l / r / e - Select pen, highlighter, line, rectangle, or ellipse
  • t - Toggle text mode
  • m - Toggle move mode
  • Left drag - Draw or move the selected annotation
  • Left click - Place text
  • 1-0, -, = - Select one of 12 annotation colors
  • [ / ] - Change text size while annotating, or spotlight radius while navigating
  • Enter - Commit text
  • Backspace - Delete the last text character
  • u - Undo
  • c - Clear annotations on the focused output
  • Esc - Leave text or move mode, then leave annotation mode

Examples

# Start with a small zoom
shmooz --zoom-in 10%

# Run on one output
shmooz --output DP-1

# Start with spotlight enabled
shmooz --spotlight --zoom-in 25%

# Save screenshots elsewhere
shmooz --screenshot-dir /tmp/shmooz-shots

Install

Build from source with Cargo, or install from the AUR on Arch.

Install wl-copy from wl-clipboard for clipboard copies that stay pasteable after shmooz exits. Without it, clipboard copy falls back to the compositor clipboard while shmooz is running.

Configure

Example sway binding:

bindsym $super+Control+Backspace exec pgrep shmooz && killall shmooz || shmooz --zoom-in 10% --output "$(swaymsg -t get_outputs | jq -r 'map(select(.focused == true)) | .[].name')"

Build

cargo build

Run directly:

cargo run -- --help

Or use the Makefile target from the repository root:

make -C build shmooz

Acknowledgement

Inspired by wooz.

License

Apache-2.0.

About

A zoom / magnifier / screenshot /color picker utility for Wayland compositors written in Rust

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages