tty2gif

record your scripts into a gif

  • Owner: z24/tty2gif
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Intro

tty2gif let you record scripts and their outputs into both binary and
gif formats.

Just like the original script, tty2gif first pomp up a temporary
shell where you can type in your shell commands. Meanwhile, tty2gif
will record both your inputs, and the output results. When you finish
recording, just execute exit in the temporary terminal. Finally,
tty2gif will store all above information into a binary file, named
file.raw. If you provide the second argument, named out.gif,
tty2gif will replay recorded process, and convert the it into a gif
animation.

tty2gif also can be used to convert an exist binary file into a gif
animation. Just feed it with an exist binary file name as the first
argument, and the output gif file name as the second argument.

Unlike other implementations, tty2gif provides a uniform solution
with a single simple C/C++ source file. I only tested it on Linux with
Bash. Feel free to report any bugs or port it into other systems, like
BSD based systems.

The script function part is inspired by the code in the book:
The Linux Programming Interface

Usage

$ ./tty2gif file.raw [out.gif] [delay(ms)]

file.raw: output binary file name OR an exist binary script
out.gif: output gif animation file name
delay: change speed in milliseconds for gif, e.x., +10 or -10

For Mac users, if you want to produce gif files, you have to run tty2gif under
a xterm since we use X window to compose the animation. Also make sure
installed ImageMagick package has been built with X11 support, for example,
through brew install imagemagick --with-x11.

Install

tty2gif depends on the Magick++ library. If you need to optimize the output
gif (since v0.2), you have to have ImageMagick>= 6.8.6-4. After that, just
make

Demo

gif

Contact

Youjie Zhou // z24.me

Main metrics

Overview
Name With Ownerz24/tty2gif
Primary LanguageC++
Program languageC++ (Language Count: 2)
Platform
License:
所有者活动
Created At2013-08-21 01:41:41
Pushed At2023-05-07 15:13:16
Last Commit At2023-05-07 08:13:16
Release Count2
Last Release Namev0.2 (Posted on 2014-10-03 13:11:16)
First Release Namev0.1 (Posted on 2014-10-03 13:10:23)
用户参与
Stargazers Count158
Watchers Count10
Fork Count11
Commits Count9
Has Issues Enabled
Issues Count6
Issue Open Count3
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private