summary refs log tree commit diff
path: root/bin/screenrec
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-04-08 13:24:01 +0900
committerRobert Günzler <r@gnzler.io>2026-04-08 13:24:01 +0900
commit28db7c76e26c312918959384e02e433f8858de49 (patch)
treecc06c8ffa2444b49cbaf01d45aede08411d23049 /bin/screenrec
parentb61b58ce2c1371d6f904f108fa7feed3abfbe5c7 (diff)
*
Automated-commit-by: dots
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bin/screenrec')
-rwxr-xr-xbin/screenrec28
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"