#!/bin/sh read cvmPid < /var/run/cvm.pid if [[ -z "$cvmPid" ]]; then echo "cvm isn't running..." exit 2 fi if [[ ! -e "/var/run/progRem.pid" ]]; then echo $$ > "/var/run/progRem.pid" else echo "Progress bar remover is already running" exit 1 fi trap "rm /var/run/progRem.pid ; exit" SIGINT SIGTERM eraseProgress() { usleep 750000 ## Print white space over progress bar eips -n 0 38 " " eips 0 39 " " } bookCheck() { ## Check if cvm has a open file descriptor for a file in /mnt/us/documents/ if [[ -n "$fd" -a -n "$book" ]]; then if [[ "$(realpath /proc/$cvmPid/fd/$fd 2> /dev/null)" == "$book" ]]; then if [[ "$bookType" != "BAD" ]]; then eraseProgress fi else book="" bookType="" findBook fi else findBook fi } findBook() { fd="$(ls -l /proc/$cvmPid/fd/ | awk '/\/mnt\/us\/documents\// {print $9}')" if [[ -n "$fd" ]]; then book="$(realpath /proc/$cvmPid/fd/$fd 2> /dev/null)" bookType="${book##*.}" case $bookType in [Mm][Oo][Bb][Ii]|[Pp][Dd][Ff]|[Pp][Rr][Cc]|[Aa][Zz][Ww]*|[Tt][Xx][Tt]) eraseProgress ;; *) bookType="BAD" ;; esac fi } ## Wait for page turn while :; do case "$(waitforkey)" in 191*|109*|104*|193*) bookCheck ;; esac usleep 100000 done