Skip to content

Instantly share code, notes, and snippets.

@jjwatt
Created July 5, 2024 14:43
Show Gist options
  • Save jjwatt/04d01ae9d47d752b446c129ea954d954 to your computer and use it in GitHub Desktop.
Save jjwatt/04d01ae9d47d752b446c129ea954d954 to your computer and use it in GitHub Desktop.
#!/bin/bash
SLOP=slop
: ${SELREC_DIR:="$(mktemp -d)"}
: ${SELREC_BASE_NAME:="selrecording"}
: ${SELREC_VIDEO_FORMAT:="webm"}
: ${SELREC_FILE_NAME:="${SELREC_BASE_NAME}"."${SELREC_VIDEO_FORMAT}"}
: ${SELREC_PATH:="$SELREC_DIR"/"$SELREC_BASE_NAME"."$SELREC_VIDEO_FORMAT"}
# rm -f ./"$SELREC_FILE_NAME"
if [ -n "$DEBUG" ]; then
printf "SELREC_DIR=%s" "$SELREC_DIR"
printf "SELREC_FILE_NAME=%s" "$SELREC_FILE_NAME"
printf "SELREC_PATH=%s" "$SELREC_PATH"
fi
slop="$($SLOP -f "%x %y %w %h %g %i")" || exit 1
read -r X Y W H G ID <<< $slop
ffmpeg -f x11grab -s "$W"x"$H" -i "$DISPLAY+$X,$Y" "$SELREC_PATH"
# trap Ctrl-C and any EXIT to copy the video file over
trap 'cp "${SELREC_PATH}" ./"${SELREC_FILE_NAME}"' EXIT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment