~emersion/grim

Grab images from a Wayland compositor
gitignore: only ignore Meson subprojects/ directory
Move screencopy manager check up
Drop "client" suffix in generated protocol header filenames

clone

read-only
https://git.sr.ht/~emersion/grim
read/write
git@git.sr.ht:~emersion/grim

You can also use your local clone with git send-email.

#grim

Grab images from a Wayland compositor. Works great with slurp.

#Example usage

Screenshoot all outputs:

grim

Screenshoot a specific output:

grim -o DP-1

Screenshoot a region:

grim -g "10,20 300x400"

Select a region and screenshoot it:

grim -g "$(slurp)"

Use a custom filename:

grim $(xdg-user-dir PICTURES)/$(date +'%s_grim.png')

Screenshoot and copy to clipboard:

grim - | wl-copy

Grab a screenshot from the focused monitor under Sway, using swaymsg and jq:

grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')

Grab a screenshot from the focused window under Sway, using swaymsg and jq:

grim -g "$(swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')"

Pick a color, using ImageMagick:

grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:-

#Building from source

Install dependencies:

  • meson
  • wayland
  • pixman
  • libpng
  • libjpeg (optional)

Then run:

meson build
ninja -C build

To run directly, use build/grim, or if you would like to do a system installation (in /usr/local by default), run ninja -C build install.

#Contributing

Report bugs on the issue tracker, send patches on the mailing list.

Join the IRC channel: #emersion on Libera Chat.

#License

MIT