#! /bin/zsh # # this file: # https://dataswamp.org/~incal/scripts/mpv-fetch-key # # set up keys in input.conf: # ~/.config/mpv/input.conf , lines 142-145 mpv-pause () { # 2 set pause yes mpv-key 2 } mpv-resume () { # 1 set pause no mpv-key 1 } mpv-random () { mpv-key "P" } mpv-random-time () { t=${1:-3} local reps while (true); do sleep $(( $t * 60 )) reps=$(( RANDOM % 40 )) mpv-random sleep 1 mpv-key "space" repeat $reps mpv-key "L" sleep 1 mpv-key "space" done } mpv-key () { local k=$1 local mpv_win=$(DISPLAY=":0" wmctrl -l | awk '/mpv/{print $1}') if [[ $mpv_win ]]; then DISPLAY=":0" xdotool key --window $mpv_win $k fi } local cmd=$1 local vt=$2 if [[ $vt ]]; then chvt $vt fi case $cmd in ('pause') mpv-pause ;; ('random') mpv-random-time 1 ;; ('resume') mpv-resume ;; (*) echo "cmd $cmd DNC" >&2 esac