run shell command
This commit is contained in:
@@ -9,9 +9,9 @@ _help() {
|
|||||||
default framerate: '$framerate'
|
default framerate: '$framerate'
|
||||||
default delay: '$delay'
|
default delay: '$delay'
|
||||||
-i for interactive selection using "slop"
|
-i for interactive selection using "slop"
|
||||||
--shell to record current terminal
|
--shell "[cmd]" to record current terminal, default cmd: bash
|
||||||
|
|
||||||
Hit "q" when finished!
|
Hit "q" when finished (or exit shell in --shell)!
|
||||||
'
|
'
|
||||||
}
|
}
|
||||||
_helpexit(){
|
_helpexit(){
|
||||||
@@ -26,6 +26,7 @@ framerate=15
|
|||||||
delay=0
|
delay=0
|
||||||
interact=0
|
interact=0
|
||||||
new_shell=0
|
new_shell=0
|
||||||
|
shell_command=bash
|
||||||
for (( i=1; i<=$#; i++ )); do
|
for (( i=1; i<=$#; i++ )); do
|
||||||
[[ ${!i} = "-h"* ]] && _helpexit
|
[[ ${!i} = "-h"* ]] && _helpexit
|
||||||
[[ ${!i} = "--h"* ]] && _helpexit
|
[[ ${!i} = "--h"* ]] && _helpexit
|
||||||
@@ -58,10 +59,11 @@ for (( i=1; i<=$#; i++ )); do
|
|||||||
fi
|
fi
|
||||||
if [[ ${!i} = "--shell" ]]; then
|
if [[ ${!i} = "--shell" ]]; then
|
||||||
new_shell=1
|
new_shell=1
|
||||||
|
shell_command="${!j}"
|
||||||
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
shell_command="${shell_command:-bash}"
|
||||||
|
|
||||||
if [[ $delay -gt 0 ]]; then
|
if [[ $delay -gt 0 ]]; then
|
||||||
echo Waiting.. for $delay seconds
|
echo Waiting.. for $delay seconds
|
||||||
@@ -95,9 +97,6 @@ if [[ $new_shell -eq 1 ]]; then
|
|||||||
|
|
||||||
echo Starting to record in 5 seconds, or press enter
|
echo Starting to record in 5 seconds, or press enter
|
||||||
read -t 5 foo || true
|
read -t 5 foo || true
|
||||||
x0=$( tput cols )
|
|
||||||
pre=$( qolop eval "_qPos save; _qPos abs 1 $x0; _qCol R;" )
|
|
||||||
post=$( qolop eval "_qCol Z; _qPos restore;" )
|
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
-video_size $size \
|
-video_size $size \
|
||||||
-framerate $framerate \
|
-framerate $framerate \
|
||||||
@@ -112,13 +111,11 @@ if [[ $new_shell -eq 1 ]]; then
|
|||||||
"$filename" &
|
"$filename" &
|
||||||
ffpid=$!
|
ffpid=$!
|
||||||
clear
|
clear
|
||||||
bash
|
eval "$shell_command"
|
||||||
kill -INT $ffpid
|
kill -INT $ffpid
|
||||||
trap - EXIT SIGINT SIGTERM
|
trap - EXIT SIGINT SIGTERM
|
||||||
kill $animpid > /dev/null 2>&1
|
tput init
|
||||||
#animate_clear
|
echo ""
|
||||||
printf "%s %s" "$pre" "$post" >&2
|
|
||||||
|
|
||||||
else
|
else
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
-video_size $size \
|
-video_size $size \
|
||||||
|
|||||||
Reference in New Issue
Block a user