config_sway/bin/sway_helpers

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"
}