diff options
Diffstat (limited to 'bin/screenrec')
| -rwxr-xr-x | bin/screenrec | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bin/screenrec b/bin/screenrec new file mode 100755 index 0000000..5324ead --- /dev/null +++ b/bin/screenrec @@ -0,0 +1,28 @@ +#!/bin/sh +set -eu + +update_waybar() { + sleep .5 + pkill -RTMIN+1 -x waybar +} + +trap '{ update_waybar & disown; }' SIGCHLD EXIT + +if [ "${1:-}" = "stop" ]; then + exec pkill -HUP -x wl-screenrec +fi + +screengrab_dir=$XDG_VIDEOS_DIR/screengrabs +screengrab_path=$screengrab_dir/"$(date --iso-8601=seconds).mkv" + +mkdir -p $screengrab_dir || exit 1 + +output=$(slurp -b '#000000aa' -c '#4E437188' -w 50 -f '%o' -or) + +update_waybar & disown + +wl-screenrec --filename="$screengrab_path" --output="$output" $@ || true + +wl-copy "$screengrab_path" + +fyi -a screenrec "screenrec" "$screengrab_path" |