scrot(1) | command line screen capture utility | scrot(1) |
scrot - command line screen capture utility
scrot [-bcfhimopuvz] [-a X,Y,W,H] [-C NAME] [-D DISPLAY] [-d SEC] [-e CMD]
[-k OPT] [-l STYLE] [-M NUM] [-n OPTS] [-q NUM] [-s OPTS] [-t % | WxH]
[-w NUM] [[-F] FILE]
scrot (SCReenshOT) is a simple command line screen capture utility, it uses imlib2 to grab and save images.
scrot has many useful features:
Because scrot is a command line utility, it can easily be scripted and put to novel uses. For instance, scrot can be used to monitor an X server in absence.
scrot is free software under the MIT-feh license.
-e, -F and FILE parameters can take format specifiers that are expanded by scrot when encountered. There are two types of format specifier: Characters preceded by a '%' are interpreted by strftime(3). The second kind are internal to scrot and are prefixed by '$'. The following specifiers are recognised by scrot:
Example:
$$ A literal '$'.
$a The system's hostname.
$F The output file format.
$f The image's full path (ignored when used in the filename).
$h The image's height.
$m The thumbnail's full path (ignored when used in the filename).
$n The image's basename (ignored when used in the filename).
$p The image's pixel size.
$s The image's size in bytes (ignored when used in the filename).
$t The image's file format (ignored when used in the filename).
$w The image's width.
$W The name of the window (only for --select, --focused and --window).
\n A literal newline (ignored when used in the filename).
This would create a PNG file with a name similar to 2000-10-30_2560x1024.png and show the disk-usage with du(1).
$ scrot '%Y-%m-%d_$wx$h.png' -e 'du -h $f'
When using -s, optionally you can indicate the action to perform with the selection area. Some actions allow optional parameters too.
In modes 'hole' and 'hide' the color of the area is indicated by 'color' property of the line style and the opacity of the color (or image) is indicated by property 'opacity', SELECTION STYLE
capture Capture the selection area, this action is by default and
does not need to be specified.
hole Highlight the selected area overshadowing the rest of the capture.
hide,IMAGE Hide the selection area by drawing an area of color (or image) over it.
Optionally indicate name of the image to use as cover.
Image has priority over color.
blur,AMOUNT Blurs the selection area.
Optionally you can specify the amount of blur.
Amount must be within [1, 30]. Default: 18.
If the 'hide' mode uses an image that does not have an alpha channel, the opacity parameter will be ignored and it will be drawn fully opaque.
Examples:
$ scrot --select=hide
$ scrot -shole --line color="Dark Salmon",opacity=200
$ scrot -sblur,10
$ scrot -shide,stamp.png --line opacity=120
When using -s, you can indicate the style of the line with -l.
-l takes a comma-separated list of specifiers as argument:
Without the -l option, a default style is used:
style=STYLE STYLE is either "solid" or "dash" without quotes.
width=NUM NUM is a pixel count within [1, 8].
color="COLOR" Color is a hexadecimal HTML color code or the name of
a color. HTML color codes are composed of a pound
sign '#' followed by a sequence of 3 2-digit
hexadecimal numbers which represent red, green, and
blue respectively. Examples: #FF0000 (red), #E0FFFF
(light cyan), #000000 (black).
opacity=NUM NUM is within [0, 255]. 255 means 100% opaque, 0 means
100% transparent. For the opacity of the line, this is only
effective if the compositor supports _NET_WM_WINDOW_OPACITY.
mode=MODE MODE can be "auto", "edge" or "classic" without quotes.
edge is the new selection, classic uses the old one.
"auto" uses "edge" if no compositor is running, "classic"
otherwise. "edge" ignores the style specifier and the -f flag,
"classic" ignores the opacity specifier.
Example:
mode=auto,style=solid,width=1,opacity=100
$ scrot -l style=dash,width=3,color="red" -s
For lossless formats (e.g PNG), the quality options is ignored. For lossy formats where the quality and compression are tied together (e.g JPEG), compression will be ignored. And for image formats where quality and compression can be independently set (e.g WebP, JXL), both flags are respected.
Following are a couple examples of using scrot with other utilities.
Copying screenshot to clipboard using xclip(1):
Taking a screenshot and optimizing its size with optipng(1):
$ scrot - | xclip -selection clipboard -target image/png
Selecting a window by PID with xdo(1):
$ scrot -e 'optipng -o4 $f'
Taking a screenshot and annotating it with ImageMagick(1):
$ scrot -w $(xdo id -p PID)
$ scrot - | convert -pointsize 64 -gravity North -annotate '+16+16' 'hello, world!' - out.png
scrot was originally developed by Tom Gilbert.
Currently, source code is maintained by volunteers. Newer versions are available at https://github.com/resurrecting-open-source-projects/scrot
ImageMagick(1) optipng(1) xclip(1) xdo(1) xwininfo(1)
09 Jun 2024 | scrot-1.11 |