71 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| LOGFILE=$HOME/log/sway.log
 | |
| 
 | |
| ## helpers
 | |
| function _log() {
 | |
|   mkdir -p $(dirname $LOGFILE)
 | |
|   echo $(date) $* | tee -a $LOGFILE
 | |
| }
 | |
| 
 | |
| function _check_app() {
 | |
|   which $1 &> /dev/null
 | |
|   if [ $? -ne 0 ]; then
 | |
|     _log _check_app: ERROR missing app \"$1\"
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| function _check_inhibit() {
 | |
|   if [ -e $1 ]; then
 | |
|     _log _check_inhibit: INFO found inhibit file $1
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| function _check_running() {
 | |
|   pgrep $1
 | |
|   ret=$?
 | |
|   if [ $ret -eq 0 ]; then
 | |
|     _log _check_running: INFO already running $1
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| function _set_inhibit() {
 | |
|   file=$1
 | |
|   action=$2
 | |
|   case "$action" in
 | |
|     0|off)
 | |
|       rm -f $file
 | |
|       _log _set_inhibit: INFO inhibit disabled
 | |
|       ;;
 | |
|     1|on)
 | |
|       touch $file
 | |
|       _log _set_inhibit: INFO inhibit enabled
 | |
|       ;;
 | |
|     *)
 | |
|       status=0
 | |
|       if [ -f $file ]; then
 | |
|         status=1
 | |
|       fi
 | |
|       _log _set_inhibit: INFO inhibit status: $status
 | |
|       ;;
 | |
|   esac
 | |
| }
 | |
| 
 | |
| function getProgressString() {
 | |
|   ITEMS="$1" # The total number of items(the width of the bar)
 | |
|   FILLED_ITEM="$2" # The look of a filled item
 | |
|   NOT_FILLED_ITEM="$3" # The look of a not filled item
 | |
|   STATUS="$4" # The current progress status in percent
 | |
| 
 | |
|   # calculate how many items need to be filled and not filled
 | |
|   FILLED_ITEMS=$(echo "((${ITEMS} * ${STATUS})/100 + 0.5) / 1" | bc)
 | |
|   NOT_FILLED_ITEMS=$(echo "$ITEMS - $FILLED_ITEMS" | bc)
 | |
| 
 | |
|   # Assemble the bar string
 | |
|   msg=$(printf "%${FILLED_ITEMS}s" | sed "s| |${FILLED_ITEM}|g")
 | |
|   msg=${msg}$(printf "%${NOT_FILLED_ITEMS}s" | sed "s| |${NOT_FILLED_ITEM}|g")
 | |
|   echo "$msg"
 | |
| }
 | |
| 
 |