marionebl / svg-term-cli

Share terminal sessions via SVG and CSS
MIT License
3.48k stars 116 forks source link

Feature Request: Pause animation for couple of seconds #28

Closed henryruhs closed 6 years ago

henryruhs commented 6 years ago

Hello,

I would like to pause short animations as the viewer cannot see what is going on in a short loop.

Command

Sleep/Pause in ms:

svg-term --cast xxx --out xxx.svg --pause 500

Example

Terminal Session

marionebl commented 6 years ago

Thanks for the suggestion. I don't want to introduce features like this in svg-term-cli, editing/extended recording tools will not be part of its scope.

I am rolling around the idea to provide something like a separate asciicast editor, which would include functionality like this.

You might achieve the result you are after with some scripting (pseudo code):

#!/bin/sh
# screencast.sh
printf '\e[01;32mredaxmedia@redaxmedia\e[00m:\e[01;34m/mnt/WIP/ncss-linter\e[00m$ '
sleep 0.1
printf 'bin/ncss-linter --url=https://redaxmedia.com --namespace=rs --log-level=info'
bin/ncss-linter --url=https://redaxmedia.com --namespace=rs --log-level=info

sleep 500
echo ""

Then via svg-term-cli:

svg-term --cast xxx --out xxx.svg --command="sh screencast.sh"

I used the same approach for the script that generates the create-react-app demo: facebook/create-react-app/tasks/screencast.sh

henryruhs commented 6 years ago

I wonder why --command is not documented!?

Here comes a (maby) even more elegant way as I want to extend an the existing cast

svg-term --command="asciinema play https://asciinema.org/a/123683 && sleep 5 && echo" --out=123683.svg

Using --cast and --command="sleep 5 && echo" together does not work for me.

marionebl commented 6 years ago

I wonder why --command is not documented!?

Forgot to sync the docs with the cli, done via e22ca85.

masaeedu commented 5 years ago

@marionebl Is there instead some way to just stop the animation at the end instead of looping?

EDIT: I think I found something that works: in the SVG we can change the animation-iteration-count to 1, and add an animation-fill-mode:forwards.