demo.mov
A powerful and customizable screen magnifier for Wayland compositors with mouse and keyboard controls.
wooz [options...]
-h, --help
- Show help message and quit--map-close KEY
- Set key to close (e.g., 'Esc', 'q', 'x')--mouse-track
- Enable mouse tracking (follow mouse without clicking)--output NAME
- Run on specific output (e.g., 'DP-1', 'HDMI-A-1')--zoom-in PERCENT
- Set initial zoom percentage (e.g., '10%', '50%')--invert-scroll
- Invert scroll direction (scroll up zooms in)
Mouse:
- Scroll wheel - Zoom in/out at mouse position
- Left click + drag - Pan the view
- Right click - Exit
- Double click - Restore/unzoom to original view
Keyboard:
+
/-
- Zoom in/out at screen center- Arrow keys - Pan the view
0
- Restore/unzoom to original viewEsc
- Exit (default, customizable with--map-close
)
# Start with 10% zoom at center
wooz --zoom-in 10%
# Enable mouse tracking (viewport follows mouse)
wooz --mouse-track
# Use 'q' key to exit instead of Esc
wooz --map-close q
# Run on a specific output only
wooz --output DP-1
# Combine options
wooz --zoom-in 25% --mouse-track --map-close x
# Invert scroll direction (scroll up to zoom in)
wooz --invert-scroll
Install dependencies:
- meson (build)
- ninja (build)
- wayland (viewporter, XDG shell, wlr screencopy and core protocols)
Then run:
export CFLAGS="-O3"
meson build
ninja -C build
To run directly, use build/wooz
, or if you would like to do a system
installation (in /usr/local
by default), run ninja -C build install
.
If you want to contribute to wooz
to add a feature or improve the code contact
me at alexandre@negrel.dev, open an
issue or make a
pull request.
Please give a ⭐ if this project helped you!
MIT © Alexandre Negrel