congif
======
This is an experimental tool that generates GIF animations of console
sessions. Like scriptreplay(1), it reads the output of script(1),
including timing information. Unlike scriptreplay(1), congif parses the
session dialogue and encodes it as a GIF animation that can be viewed on
graphical programs (e.g. web browsers).
Limitations
-----------
Only dialogues generated for the Linux console can be correctly parsed
by congif. This means that if your $TERM environment variable is not
"linux" then it probably won't work. You can manually set $TERM when
calling script(1), but then your terminal may not work correctly while
the session is recorded. It's recommended that you record your sessions
on the Linux console itself, or on a terminal emulator that is
compatible with console_codes(4).
congif needs to know the terminal size used during the execution of
script(1) and this size must be constant per session (i.e. if you resize
the terminal while recording a session, congif won't work). By default,
congif assumes that the terminal size of the session is equal to the
current terminal size. Use the options -w and -h if you need to specify
a different size.
Building
--------
A C99 compiler is needed. There are no library dependencies.
$ make
Usage
-----
congif [OPTIONS] timings dialogue
timings: File generated by script(1)'s -t option
dialogue: File generated by script(1)'s regular output
OPTIONS:
-w columns Terminal width
-h lines Terminal height
-f font File name of MBF font to use
-o output File name of GIF output
-d divisor Speedup, as in scriptreplay(1)
-m maxdelay Maximum delay, as in scriptreplay(1)
-c on|off Show/hide cursor
-v Verbose mode (show parser logs)
-q Quiet mode (don't show progress bar)
Fonts
-----
For simplicity, congif uses a custom font format, MBF. The font UW
ttyp0 [1], included in this distribution, is used by default.
Examples
--------
Recording a session:
$ script -t 2> foo.t foo.d
Generating a GIF file with defaults (creates "con.gif"):
$ congif foo.t foo.d
Generating a faster version:
$ congif -d3 -m1 -o fast.gif foo.t foo.d
Copying
-------
All of the source code and documentation for congif is released into the
public domain and provided without warranty of any kind.
The UW ttyp0 fonts are released under the ttyp0 License. See
LICENSE.uw-ttyp0 for details.
Links
-----
[1] http://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/