diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-03-06 02:22:24 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-03-06 02:23:54 -0600 |
commit | eb1534ec0924b8ff68e370249af41d14077411ab (patch) | |
tree | c0eb2063e3de3d9bf5f4c7d072fc7ea668bf768e | |
parent | e0d0fe735ad736b1a7cf04a7662b54bac568e4f1 (diff) | |
download | app-ttyrec-eb1534ec0924b8ff68e370249af41d14077411ab.tar.gz app-ttyrec-eb1534ec0924b8ff68e370249af41d14077411ab.zip |
documentation
-rw-r--r-- | bin/ttyrec | 46 | ||||
-rw-r--r-- | lib/App/Ttyrec.pm | 95 |
2 files changed, 141 insertions, 0 deletions
@@ -7,6 +7,46 @@ use warnings; use App::Ttyrec; use Getopt::Long; +=head1 SYNOPSIS + + ttyrec foo.ttyrec + ttyrec -e 'nethack' nethack.ttyrec + ttyrec -a + +=head1 DESCRIPTION + +This is an implementation of the C<ttyrec> program for recording terminal +sessions. All data that the program running in the terminal produces is +recorded, along with timing information, so that it can be replayed later (via +a ttyrec player such as the C<ttyplay> script distributed with +C<Term::TtyRec::Plus>). + +This program is intended to be mostly a drop-in replacement for the C<ttyrec> +program distributed L<here|http://0xcc.net/ttyrec/index.html.en>. + +=head1 OPTIONS + + ttyrec [-a] [-e <cmd>] [output_file] + +=over 4 + +=item -a + +Append to the ttyrec file, rather than overwriting it. + +=item -e <cmd> + +Execute <cmd>, rather than a shell. Defaults to C<$SHELL> or C</bin/sh>. + +=item output_file + +The file to write the ttyrec data to. This can be a named pipe. Defaults to +C<ttyrecord>. + +=back + +=cut + my $cmd = $ENV{SHELL} || '/bin/sh'; my $append; @@ -33,3 +73,9 @@ App::Ttyrec->new( ttyrec_file => ($ARGV[0] || 'ttyrecord'), append => $append, )->run($cmd); + +=head1 SEE ALSO + +L<http://0xcc.net/ttyrec/index.html.en> + +=cut diff --git a/lib/App/Ttyrec.pm b/lib/App/Ttyrec.pm index 828556c..35d7141 100644 --- a/lib/App/Ttyrec.pm +++ b/lib/App/Ttyrec.pm @@ -7,18 +7,53 @@ use Tie::Handle::TtyRec 0.04; with 'Term::Filter'; +=head1 SYNOPSIS + + use App::Ttyrec; + + App::Ttyrec->new( + ttyrec_file => 'nethack.ttyrec', + )->run('nethack'); + +=head1 DESCRIPTION + +This module handles setting up and running a terminal session which records its +output to a ttyrec file. These files can then be later read via software such +as L<Term::TtyRec::Plus>. + +=cut + +=attr ttyrec_file + +The name of the file to write to (which can be a named pipe). Defaults to +C<ttyrecord>. + +=cut + has ttyrec_file => ( is => 'ro', isa => 'Str', default => 'ttyrecord', ); +=attr append + +Whether or not to append to the ttyrec file. Defaults to false. + +=cut + has append => ( is => 'ro', isa => 'Bool', default => 0, ); +=attr ttyrec + +The L<Tie::Handle::TtyRec> instance used to actually write the ttyrec file. + +=cut + has ttyrec => ( is => 'ro', isa => 'FileHandle', @@ -38,7 +73,67 @@ sub munge_output { $got; } +=method run(@cmd) + +Run the command specified by C<@cmd>, as though via C<system>. The output that +this command writes to the terminal will also be recorded in the file specified +by C<ttyrec_file>. + +=cut + __PACKAGE__->meta->make_immutable; no Moose; +=head1 BUGS + +No known bugs. + +Please report any bugs through RT: email +C<bug-app-ttyrec at rt.cpan.org>, or browse to +L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=App-Ttyrec>. + +=head1 SEE ALSO + +L<Term::TtyRec::Plus> + +L<Tie::Handle::TtyRec> + +L<http://0xcc.net/ttyrec/index.html.en> + +=head1 SUPPORT + +You can find this documentation for this module with the perldoc command. + + perldoc App::Ttyrec + +You can also look for information at: + +=over 4 + +=item * AnnoCPAN: Annotated CPAN documentation + +L<http://annocpan.org/dist/App-Ttyrec> + +=item * CPAN Ratings + +L<http://cpanratings.perl.org/d/App-Ttyrec> + +=item * RT: CPAN's request tracker + +L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=App-Ttyrec> + +=item * Search CPAN + +L<http://search.cpan.org/dist/App-Ttyrec> + +=back + +=begin Pod::Coverage + +munge_output + +=end Pod::Coverage + +=cut + 1; |