\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 Linux 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