rj1
log | files | refs

screen-record (840B) - raw


#!/bin/bash

if [ $(pgrep screen-record) != 0 ]; then
  dimensions=$(slurp)
  audio=$(echo -e "none\ndesktop\nmicrophone" | rofi -dmenu -p 'screencast audio')
  [ ! ${audio} ] && exit
  file="$HOME/vid/screencast/screencast-$(date +%F-%H-%M-%S).mp4"
  cmd="wf-recorder -t -f \"${file}\" -g \"${dimensions}\" -c h264_vaapi -d /dev/dri/renderD128"
  # cmd="wf-recorder -t -f \"${file}\" -g \"${dimensions}\""

  # pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2

  case $audio in
  desktop)
    cmd+=" --audio=\"bluez_output.AC_BF_71_0C_52_70.1.monitor\""
    bash -c "${cmd}"
    ;;
  microphone)
    cmd+=" --audio=\"NoiseTorch\""
    bash -c "${cmd}"
    ;;
  none)
    bash -c "${cmd}"
    ;;
  cancel)
    exit
    ;;
  esac
else
  pkill -9 --signal SIGINT wf-recorder
  notify-send "wf-recorder" "screencast saved!"
fi