Linux

Where Does grim Save Screenshots?

grim writes to the file you name, or a timestamped file in $GRIM_DEFAULT_DIR, Pictures, or the working directory.

Last updated

grim takes no config file; the output path is an argument every run. Name a file and it lands there, pass - and the PNG goes to stdout for pipes into wl-copy or satty.

Only the no-argument case picks for you: timestamped file under $GRIM_DEFAULT_DIR, else $XDG_PICTURES_DIR, else the working directory. Set GRIM_DEFAULT_DIR once and bare grim stops scattering files.

Where grim stores this, by platform

Linux
$GRIM_DEFAULT_DIR (else $XDG_PICTURES_DIR, else cwd)

Explicit path wins; - means stdout. Region picks come from slurp via -g "$(slurp)"; -o captures a named output, -c includes the cursor.

Frequently asked questions

I ran bare grim. Where did the screenshot go?

Run grim with no filename. It invents a timestamped PNG, trying $GRIM_DEFAULT_DIR first, then $XDG_PICTURES_DIR, then the current directory.

How do I screenshot straight to the clipboard?

Pass - as the filename: grim -g "$(slurp)" - | wl-copy grabs a region to the clipboard with no file anywhere.

Notice an outdated path? Let us know.