#!/bin/bash # Set recorder based on GPU screenrecording() { filename="$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" notify-send "Screen recording starting..." -t 1000 sleep 1 if lspci | grep -qi 'nvidia'; then wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@" else wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@" fi } if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then pkill -x wl-screenrec pkill -x wf-recorder notify-send "Screen recording saved to ~/Videos" -t 2000 elif [[ "$1" == "output" ]]; then screenrecording else region=$(slurp) || exit 1 screenrecording -g "$region" fi