2 unstable releases
Uses new Rust 2024
| new 0.2.0 | May 11, 2026 |
|---|---|
| 0.1.0 | May 6, 2026 |
#73 in GUI
230KB
6.5K
SLoC
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
- Zoom
- Spotlight
- Annotation
Features
- Zoom and pan the current output.
- 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.
- 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
- Left drag - Pan
+/-- Zoom at screen center- Arrow keys - Pan
0- Reset viewf- Toggle spotlight- Right click - Exit
- Double click - Reset view
Annotation
d- Draw on the current zoomed vieww- Draw on the full viewp/h/l/r/e- Select pen, highlighter, line, rectangle, or ellipset- Toggle text modem- 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 navigatingEnter- Commit textBackspace- Delete the last text characteru- Undoc- Clear annotations on the focused outputEsc- 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.
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.
Dependencies
~15–25MB
~392K SLoC