summaryrefslogtreecommitdiff
path: root/pkgs/watch-while/watch-while.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/watch-while/watch-while.zsh')
-rw-r--r--pkgs/watch-while/watch-while.zsh19
1 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/watch-while/watch-while.zsh b/pkgs/watch-while/watch-while.zsh
new file mode 100644
index 0000000..d38d393
--- /dev/null
+++ b/pkgs/watch-while/watch-while.zsh
@@ -0,0 +1,19 @@
+#!@zsh@/bin/zsh
+
+set -ue
+
+# This file should be a (symbolik link to a) file which we want to watch. Once
+# we're finished with that movie, we just read the next.
+movie=${XDG_CONFIG_HOME:-$HOME/.config}/watch-while/movie
+
+if [ -f $movie ]; then
+ @mpv@/bin/mpv --save-position-on-quit --autofit='90%x90%' -- $movie >/dev/null 2>&1 &
+ mpv_pid=$?
+ trap 'kill -s QUIT $mpv_pid' EXIT
+
+ # We don't exec because we want our exec handler to fire.
+ "$@" || exit $?
+else
+ # In this case where we don't have any movie we just transparently run the command.
+ exec "$@"
+fi