summaryrefslogtreecommitdiff
path: root/dmpv
blob: dc98c80e1d9ad6ced074291eb8a5f50d5e7260f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh

cd ~/Videos || exit
case "$@" in
  "-l")
    LOOP="true"
    ;;
  "-h")
    HELP="true"
    ;;
esac

playvid () {
  while true; do
    VIDEO=$(find "$HOME/Videos" | uniq | dmenu -l 15)
    [ -z "$VIDEO" ] && exit
    if [ "$VIDEO" = "." ]; then
      break;
    fi
    [ -d "$VIDEO" ] && cd "$VIDEO" && continue
    [ -f "$VIDEO" ] && break
    pwd
  done
  mpv "$VIDEO"
}

printhelp () {
  printf "Usage: dmpv [-l] [-h]\n"
  printf "dmpv is a simple dmenu interface for playing content with mpv\n"
  printf "dmpv assumes videos are stored in ~/Videos\n"
  printf "  -h\t\tprint this help message\n"
  printf "  -l\t\trun the prompt again after mpv exits\n"
}

if [ -n "$HELP" ]; then
  printhelp && exit 0
elif [ -n "$LOOP" ]; then
  while true; do
    playvid || exit 0
  done
else
  playvid
fi