šŸŽ‰ šŸš€ šŸŗ New release of Terminal Recorder - t-rec

5422m4n

Sven Kanoldt

Posted on October 12, 2020

šŸŽ‰ šŸš€ šŸŗ New release of Terminal Recorder - t-rec

Blazingly fast terminal recorder that generates animated gif images for the web written in rust for MacOS.

Demo

demo

Features

  • Screenshotting your terminal with 4 frames per second (every 250ms)
  • Generates high quality small sized animated gif images
  • Build-In idle frames detection and optimization (for super fluid presentations)
  • Runs (only) on MacOS
  • Uses native efficient APIs
  • Runs without any cloud service and entirely offline
  • No issues with terminal sizes larger than 80x24
  • No issues with fonts or colors
  • No issues with curses based programs
  • No issues with escape sequences
  • No record and replay - just one simple command to rule them all
  • Hidden feature: Record every window you want
  • Written in Rust šŸ¦€

Install

NOTE for now t-rec depends on imagemagick, but this is going to change soon.

āÆ brew install imagemagick
āÆ cargo install -f t-rec 
Enter fullscreen mode Exit fullscreen mode

Hidden Gems

You can record not only the terminal but also every other window. There 2 ways to do so:

1) abuse the env var TERM_PROGRAM like this:

  • for example lets record a window 'Google Chrome'
  • make sure chrome is running and visible on screen
āÆ TERM_PROGRAM="google chrome" t-rec
Frame cache dir: "/var/folders/m8/084p1v0x4770rpwpkrgl5b6h0000gn/T/trec-74728.rUxBx3ohGiQ2"
Press Ctrl+D to end recording
Recording Window: "Google Chrome 2"
Enter fullscreen mode Exit fullscreen mode

this is how it looks then:
demo-chrome

2) use the env var WINDOWID like this:

  • for example let's record a VSCode window
  • figure out the window id program, and make it
  • make sure the window is visible on screen
  • set the variable and run t-rec
āÆ t-rec --ls-win | grep -i code
Code | 27600

# set the WINDOWID variable and run t-rec
āÆ WINDOWID=27600 t-rec

Frame cache dir: "/var/folders/m8/084p1v0x4770rpwpkrgl5b6h0000gn/T/trec-77862.BMYiHNRWqv9Y"
Press Ctrl+D to end recording

Enter fullscreen mode Exit fullscreen mode

this is how it looks then:
demo-vscode

Contribute

Testers on different Apple hardware needed. Also, exotic shell setups are very interesting for testing.

To contribute to t-rec you can either checkout existing issues labeled with good first issue or open a new issue and describe your problem.
Also every PR is welcome. Support for Linux and Windows needs to be done.

License

šŸ’– šŸ’Ŗ šŸ™… šŸš©
5422m4n
Sven Kanoldt

Posted on October 12, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related