| 1 | #! /bin/sh -e |
| 2 | |
| 3 | tmp=${DVDRIP_TMPDIR-${HOME?}/tmp/dvdrip} |
| 4 | |
| 5 | case "$#" in 0) set -- /dev/sr[0-9]* ;; esac |
| 6 | cls=$(tput clear) |
| 7 | nl=" |
| 8 | " |
| 9 | |
| 10 | last=: |
| 11 | while :; do |
| 12 | unset out |
| 13 | for dev in "$@"; do |
| 14 | label=$(lsblk -dn -oLABEL "$dev" 2>&1 || echo "(error)") |
| 15 | dev_id=$(stat -c%t:%T "$dev") |
| 16 | dest="(inactive)" |
| 17 | for i in "$tmp"/*/device; do |
| 18 | if [ ! -f "$i" ]; then continue; fi |
| 19 | d=$(cat "$i"); id=$(stat -c%t:%T "$d") |
| 20 | case $id in |
| 21 | "$dev_id") |
| 22 | for j in dest.new dest dest.seen; do |
| 23 | if dest=$(cat "${i%/device}/$j"); then break; fi |
| 24 | done |
| 25 | ;; |
| 26 | esac |
| 27 | done |
| 28 | out=${out+$out$nl}$(printf "%-6s %-32s %s\n" "${dev#/dev/}" "$label" "$dest") |
| 29 | done |
| 30 | case $out in "$last") ;; *) echo -n "$cls$out"; last=$out ;; esac |
| 31 | sleep 1 |
| 32 | done |