grim-rs 0.2.0

Rust implementation of grim screenshot utility for Wayland and Windows
Documentation
# CLI Guide (`grim-rs`)


The `grim-rs` binary provides screenshot capture from Wayland compositors and Windows.

By default, output is saved to:

- `GRIM_DEFAULT_DIR` (if set), otherwise
- `XDG_PICTURES_DIR` (if it exists), otherwise
- current directory.

## Options


```bash
-h              Show help message and quit
-s <factor>     Set the output image scale factor (default: greatest output scale)
-g <geometry>   Set region to capture (format: "x,y widthxheight")
-t png|jpeg    Set output filetype (default: png)
-q <quality>    JPEG quality (0-100, default: 80)
-l <level>      PNG compression level (0-9, default: 6)
-o <output>     Output name to capture (e.g. "DP-1", "HDMI-A-1")
-c              Include cursor in screenshot
```

## Examples


```bash
# Build first

cargo build --release

# Capture full screen

cargo run --bin grim-rs

# Capture to a specific filename

cargo run --bin grim-rs -- screenshot.png

# Capture region

cargo run --bin grim-rs -- -g "100,100 800x600" region.png

# Capture with scaling

cargo run --bin grim-rs -- -s 0.5 thumbnail.png

# Capture specific output

cargo run --bin grim-rs -- -o DP-1 monitor.png

# Include cursor

cargo run --bin grim-rs -- -c -o DP-1 with_cursor.png

# JPEG with custom quality

cargo run --bin grim-rs -- -t jpeg -q 90 screenshot.jpg

# PNG with max compression

cargo run --bin grim-rs -- -l 9 compressed.png

# Combined options

cargo run --bin grim-rs -- -g "0,0 1920x1080" -s 0.8 -c scaled_region.png

# Write to stdout and pipe

cargo run --bin grim-rs -- - > screenshot.png

# Override output directory

GRIM_DEFAULT_DIR=/tmp cargo run --bin grim-rs

# Read region from stdin

echo "100,100 800x600" | cargo run --bin grim-rs -- -g -
```

## Installed binary


After `cargo install grim-rs`:

```bash
grim-rs
grim-rs -g "100,100 800x600" -s 0.5 thumbnail.png
grim-rs -o DP-1 -c monitor.png
grim-rs - | wl-copy
```

Note: the binary is named `grim-rs` to avoid conflict with the original `grim`.