summaryrefslogtreecommitdiff
path: root/rec.sh
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-10-05 18:32:20 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-10-05 18:32:20 +0800
commit95c58b0e1a5ea004300b3033dff74541bdf0632c (patch)
treeb9a54ad38f17ffa486fcd01575212e1ca0a821ae /rec.sh
parent4ae1bb7dbd798caf373f4817dbf51fdd5d2fb1d7 (diff)
fix(rec.sh): fixed it sometimes not working or status not showing and changed logic up a bit
Diffstat (limited to 'rec.sh')
-rwxr-xr-xrec.sh30
1 files changed, 16 insertions, 14 deletions
diff --git a/rec.sh b/rec.sh
index 4d2fe57..894b101 100755
--- a/rec.sh
+++ b/rec.sh
@@ -9,23 +9,25 @@ function status() {
echo ""
exit
fi
- if pgrep -f gpu-screen-recorder >/dev/null; then
- echo ""
- else
- echo ""
- fi
+ n=0
+ while ! pgrep -f gpu-screen-recorder >/dev/null; do
+ if [ $n -eq 3 ]; then
+ echo ""
+ exit
+ fi
+ (( n+=1 ))
+ done
+ echo ""
}
function recorder() {
- if pgrep -f gpu-screen-recorder>/dev/null; then
- killall -SIGINT gpu-screen-recorder || exit 1
- # reload module
- pkill -RTMIN+3 waybar
- else
- gpu-screen-recorder -w screen -restore-portal-session yes -q ultra -oc yes -cr full -f 160 -o $XDG_VIDEOS_DIR/$(date +"%Y-%m-%d_%H:%M:%S").mp4
- # reload module
- pkill -RTMIN+3 waybar
- fi
+ killall -SIGINT gpu-screen-recorder && while [ ! "$filename" ]; do filename=$(cat $XDG_CACHE_HOME/rec_filename); done && (dragon --icon-only --thumb-size 512 --and-exit "$XDG_VIDEOS_DIR/$filename" & sleep 10 && kill $!) && exit 1
+ filename=$(date +"%Y-%m-%d_%H:%M:%S").mp4
+ echo '' > $XDG_CACHE_HOME/rec_filename
+ echo 'false' > $XDG_CACHE_HOME/rec_paused
+ gpu-screen-recorder -w screen -restore-portal-session yes -q ultra -oc yes -cr full -f 160 -o $XDG_VIDEOS_DIR/"$filename" && echo "$filename" > $XDG_CACHE_HOME/rec_filename
+ # reload module
+ pkill -RTMIN+3 waybar
}
function pause() {