\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename scrotty.info @settitle scrotty @afourpaper @documentencoding UTF-8 @documentlanguage en @finalout @c %**end of header @dircategory Multimedia @direntry * scrotty: (scrotty). Take a screenshot of the framebuffer @end direntry @copying Copyright @copyright{} 2014, 2015 Mattias Andrée @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end quotation @end copying @ifnottex @node Top @top scrotty -- Take a screenshot of the framebuffer @insertcopying @end ifnottex @titlepage @title scrotty @subtitle Take a screenshot of the framebuffer @author by Mattias Andrée (maandree) @page @center `I don't know how to make a screenshot, because I normally use my computer in @center text-mode. I have @sc{X} and @sc{GNOME} installed, but I use them only occasionally.' --- rms @vskip 0pt plus 1filll @insertcopying @end titlepage @contents @menu * Overview:: Brief overview of @command{scrotty}. * Invoking:: Invocation of @command{scrotty}. * GNU Free Documentation License:: Copying and sharing this manual. @end menu @node Overview @chapter Overview @command{scrotty} is a simple command for taking a screenshot of your framebuffers. It can be used to take a screenshot of your TTY session, but it cannot take a screenshot of your X session.@footnote{Unless it is for some reason is rendered on the framebuffer.} @command{scrotty} is designed after @command{scrot}, but includes a some improvements. Namely it does not support delaying the screenshot, selecting image quality or creating thumbnails, but it has support for adding arbitrary arguments to @command{convert} (from the ImageMagick project), which is used to save the image. @command{scrotty} reads the data stored in the framebuffers, convert it the PNM images and pipes it to @command{convert} to create PNG images. @node Invoking @chapter Invoking @command{scrotty} recognises four options: @table @option @item --help Print usage information and exit. @item --version Print program name and version and exit. @item --copyright Print copyright information and exit. @item --raw Save the images in portable anymap format (PNM), rather than in Portable Network Graphics (PNG). If this option is used, and no arguments for @command{convert} is specified, @command{convert} will not be used, and there will be not requirement to have ImageMagick installed. PNM images are highly compressable with @command{bzip2}. Compressed images are comparable in size with PNG,@footnote{Usually a few bytes in difference.} and can in fact be smaller. @item --exec CMD Run a command for each saved image. @end table 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. Further, it is possible add @option{--} followed by additional options to add when @command{scrotty} spawns @command{convert}. 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 @command{man 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/}. @node GNU Free Documentation License @appendix GNU Free Documentation License @include fdl.texinfo @bye