@node Invoking @chapter Invoking @command{scrotty} recognises four options: @table @option @item -h @itemx --help Print usage information and exit. @item -v @itemx --version Print program name and version and exit. @item -c @itemx --copyright Print copyright information and exit. @item -d @itemx --device NO Select a framebuffer device, by index, to screenshot. All framebuffers are screenshoot if this option is omitted. @item -e @itemx --exec CMD Run a command for each saved image. Can only be specified once. @end table Each option can only ube used once. In addition to these options, a filename pattern, that does not start with a dash, can be added. This filename pattern selects with what filename the image should be saved. Alternatively, you can pipe stdout to another program, or file, and the framebuffer will be sent there. This requires that @option{--exec} is unused. Both the @option{--exec} and filename pattern parameters can take format specifiers that are expanded by @command{scrotty} when encountered. There are two types of format specifier. Characters preceded by a `%' are interpreted by @code{strftime}. See @ref{strftime} or the manual for your implemenation of @command{strftime} for examples. These options may be used to refer to the current date and time. The second kind are internal to scrotty and are prefixed by `$' or `\'. The following specifiers are recognised: @table @asis @item `@code{$i}' Framebuffer index. @item `@code{$f}' Image filename/pathname. Ignored in the filename pattern. @item `@code{$n}' Image filename. Ignored in the filename pattern. @item `@code{$p}' Image width multiplied by image height. @item `@code{$w}' Image width. @item `@code{$h}' Image height. @item `@code{$$}' Expands to a literal `$'. @item `@code{\n}' Expands to new line. @item `@code{\\}' Expands to a literal `\'. @item `@code{\ }' Expands to a literal ` '. @end table A space that is not prefixed by a backslash in @option{--exec} is interpreted as an argument delimiter. This is the case even at the beginning and end of the string and if a space was the previous character in the string. For example, @command{scrotty `%Y-%m-%d_$wx$h.$i.png` --exec 'cp $f ~/.backups/shots/'} create a file called something like @file{2014-10-28_1792x1344.0.png} for your first framebuffer and @file{2014-10-28_1792x1344.1.png} for your second framebuffer, and copies the saved images to @file{~/.backups/shots/}.