#!/bin/bash
set -eu
checkout=$1
root=$2
side=$3
sha=$4
# A real terminal on a fixed Xvfb display, recorded directly with ffmpeg.
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
gsettings set org.gnome.desktop.interface monospace-font-name 'DejaVu Sans Mono 14'
profile=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d "'")
settings="org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$profile/"
gsettings set "$settings" use-theme-colors false
gsettings set "$settings" background-color '#101218'
gsettings set "$settings" foreground-color '#e0e6ee'
gsettings set "$settings" use-system-font false
gsettings set "$settings" font 'DejaVu Sans Mono 14'
gsettings set "$settings" cursor-blink-mode off
gsettings set "$settings" scrollbar-policy never
gnome-terminal --wait --geometry=174x46 --hide-menubar --title='Delegated follow-up evidence' -- python3 "$root/driver.py" "$checkout" "$root" "$side" "$sha" &
terminal_pid=$!
ffmpeg -nostdin -y -f x11grab -framerate 10 -video_size 1920x1080 -i "$DISPLAY" -c:v libx264 -preset ultrafast -crf 24 -pix_fmt yuv420p "$root/$side.mp4" > "$root/$side-record.log" 2>&1 &
recorder_pid=$!
wait "$terminal_pid"
kill -INT "$recorder_pid"
wait "$recorder_pid"
