Improve asciinema session recording
This commit is contained in:
parent
8d6ab690c4
commit
80a7334f59
3 changed files with 26 additions and 6 deletions
|
@ -4,15 +4,29 @@ set -e
|
||||||
|
|
||||||
if [ -x "$(command -v asciinema)" ] \
|
if [ -x "$(command -v asciinema)" ] \
|
||||||
&& [ -z "$ASCIINEMA_REC" ] \
|
&& [ -z "$ASCIINEMA_REC" ] \
|
||||||
&& [ "$ASCIINEMA_LOG" -gt 0 ]
|
&& [ -n "$ASCIINEMA_LOG" ]
|
||||||
then
|
then
|
||||||
ASCIINEMA_LOG_DIR="$HOME/.cache/logs"
|
ASCIINEMA_LOG_DIR="$HOME/.cache/logs"
|
||||||
mkdir -p "$ASCIINEMA_LOG_DIR"
|
mkdir -p "$ASCIINEMA_LOG_DIR"
|
||||||
_file_name_date=$(date +%Y-%m-%d_%H%M%S)
|
_file_name_date=$(date +%Y-%m-%d_%H%M%S)
|
||||||
|
|
||||||
|
if [ "$ASCIINEMA_LOG" = "raw" ]
|
||||||
|
then
|
||||||
export ASCIINEMA_LOG_FILE="$ASCIINEMA_LOG_DIR/asciinema-$_file_name_date.txt"
|
export ASCIINEMA_LOG_FILE="$ASCIINEMA_LOG_DIR/asciinema-$_file_name_date.txt"
|
||||||
asciinema rec --quiet --raw "$ASCIINEMA_LOG_FILE"
|
asciinema rec --quiet --raw "$ASCIINEMA_LOG_FILE"
|
||||||
|
|
||||||
exit 0 # Parent script should exit
|
exit 0 # Parent script should exit
|
||||||
|
fi
|
||||||
|
if [ "$ASCIINEMA_LOG" = "video" ]
|
||||||
|
then
|
||||||
|
export ASCIINEMA_LOG_FILE="$ASCIINEMA_LOG_DIR/asciinema-$_file_name_date.cast"
|
||||||
|
asciinema rec --quiet --idle-time-limit=3 "$ASCIINEMA_LOG_FILE"
|
||||||
|
exit 0 # Parent script should exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Invalid value for ASCIINEMA_LOG: $ASCIINEMA_LOG"
|
||||||
|
echo "Valid values are: raw, video"
|
||||||
|
echo "Your session will not be recorded"
|
||||||
|
exit 1 # Parent script should not exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 1 # Parent script should not exit
|
exit 1 # Parent script should not exit
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
export AUTOSTART_DISPLAY="Hyprland"
|
export AUTOSTART_DISPLAY="Hyprland"
|
||||||
export ASCIINEMA_LOG="1"
|
export ASCIINEMA_LOG="video"
|
||||||
|
|
||||||
export MONITOR_PRIMARY="DisplayPort-0"
|
export MONITOR_PRIMARY="DisplayPort-0"
|
||||||
export MONITOR_SECONDARY="HDMI-A-0"
|
export MONITOR_SECONDARY="HDMI-A-0"
|
||||||
|
|
|
@ -15,7 +15,7 @@ $cmd_duration\
|
||||||
[](bg:red fg:yellow)\
|
[](bg:red fg:yellow)\
|
||||||
$status\
|
$status\
|
||||||
[](bg:white fg:red)\
|
[](bg:white fg:red)\
|
||||||
$shell\
|
${custom.asciinema_log}$shell\
|
||||||
[](bg:cyan fg:white)\
|
[](bg:cyan fg:white)\
|
||||||
$jobs\
|
$jobs\
|
||||||
[](cyan)
|
[](cyan)
|
||||||
|
@ -36,6 +36,12 @@ show_milliseconds = true
|
||||||
style = "bg:yellow fg:black"
|
style = "bg:yellow fg:black"
|
||||||
format = "[$duration]($style)"
|
format = "[$duration]($style)"
|
||||||
|
|
||||||
|
[custom.asciinema_log]
|
||||||
|
command = 'case $ASCIINEMA_LOG in "raw") printf "" ;; "video") printf "" ;; esac'
|
||||||
|
when = ''' test -n "$ASCIINEMA_LOG" && test -n "$ASCIINEMA_REC" '''
|
||||||
|
style = "bg:white fg:black"
|
||||||
|
format = '[$output ]($style)'
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
read_only = ""
|
read_only = ""
|
||||||
truncation_length = 8
|
truncation_length = 8
|
||||||
|
|
Loading…
Reference in a new issue