scrop is a precise Wayland region selector for screen recorders and screenshot scripts.
Unlike one-drag selectors, it keeps the selected rectangle open so it can be moved, resized,
and confirmed explicitly.
It prints a slurp-compatible geometry string to stdout,
so it can be used as a drop-in selector for tools such as
wl-screenrec.
If you're on Arch, you can install the AUR binary package:
yay -S scrop-binTo build from source, install these development packages with your distro package manager:
cairopango
Then install scrop from a local checkout:
cargo install --path .Prebuilt release tarballs are published on GitHub Releases.
Start the selector:
scropscrop select starts the same interactive selector explicitly:
scrop selectAfter confirmation, scrop prints geometry to stdout:
120,80 1280x720
Use it with wl-screenrec:
wl-screenrec -g "$(scrop)"Open with an aspect ratio toolbar to pick from presets (free, 1:1, 3:4, 9:16, 9:21):
scrop --aspect-ratioStart with a specific preset selected:
scrop --aspect-ratio=4:3Lock to a fixed aspect ratio:
scrop --lock-aspect-ratio=16:9| Input | Action |
|---|---|
| Drag outside the selection | Create a new selection |
| Drag inside the selection | Move the selection |
| Drag a resize handle | Resize the selection |
Click Select or press Enter |
Confirm and print geometry |
Click x or press Escape |
Cancel |
| Arrow keys | Move the selection by 1 pixel |
Shift + arrow keys |
Move the selection by 10 pixels |
| Aspect ratio toolbar | Toggle between free, 1:1, 3:4, 9:16, 9:21 (or custom) |
Usage: scrop [OPTIONS] [COMMAND]
Commands:
select Interactive region selection
help Print this message or the help of the given subcommand(s)
Options:
-v, --version Print version
--verbose... Increase diagnostic output; may be repeated
--aspect-ratio [<W:H>] Enable aspect ratio controls with an optional W:H preset
--lock-aspect-ratio <W:H> Lock selection to a fixed W:H aspect ratio
-h, --help Print help
--verbose is repeatable. Diagnostics go to stderr so stdout remains suitable for command
substitution.
| Code | Meaning |
|---|---|
0 |
A region was selected and printed |
1 |
Selection was cancelled |
2 |
Initialization or runtime error |
scrop is Wayland-only. The compositor must support:
wlr-layer-shell-unstable-v1zxdg-output-unstable-v1
cursor-shape-v1 is recommended for context-aware crosshair, move, and resize cursors.
Selections are constrained to one output because recorders such as wl-screenrec expect a region
fully contained within a single output.
cargo fmt --check
cargo test
cargo clippy --all-targets -- -D warnings
cargo buildGitHub Actions builds an x86_64 Linux binary and publishes a tarball plus checksum when a version
tag is pushed. The tag must match the version in Cargo.toml.
git tag vX.Y.Z
git push origin vX.Y.ZThe release tarball can be used directly or repackaged for your distro.