rice/scripts/picom.sh
2021-10-29 13:14:44 -07:00

68 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# script to launch a new instance of picom in the background
set -Euo pipefail
# set -Eeuo pipefail
# remove the e argument so that it does not stop on any command failure
# e.g. having no picom running and having line 15 return non 0 return code
verbose=0
justKillIt=0
# if [[ $# -gt 0 && $1 == "-v" ]]; then
# verbose=1
# fi
while getopts "vk" arg; do
case $arg in
v) verbose=1 ;;
k) justKillIt=1 ;;
esac
done
if [[ $justKillIt -eq 1 ]]; then
if [[ $verbose -eq 1 ]]; then
echo 'Searching for running picom instance'
fi
if [[ $(pgrep -x "picom") != '' ]]; then
PID=$(pidof "picom")
if [[ $verbose -eq 1 ]]; then
echo 'Found running instance of picom with pid '$PID
echo 'Killing instance'
fi
kill -9 $PID
if [[ $verbose -eq 1 ]]; then
echo 'Killed picom instance with pid' $PID
fi
exit 0
else
if [[ $verbose -eq 1 ]]; then
echo 'No running instance of picom found'
fi
exit 1
fi
fi
res=$(pgrep -x picom)
if [[ $res != '' ]]; then
pid=$(pidof picom)
if [[ $verbose -eq 1 ]]; then
echo 'killing process pid '$pid
fi
kill -9 $pid
while pgrep -x picom >/dev/null; do
sleep 1
done
fi
if [[ $verbose -eq 1 ]]; then
picom --config ~/.config/picom/picom.conf &
else
picom --config ~/.config/picom/picom.conf &>/dev/null &
fi
if [[ $verbose -eq 1 ]]; then
pid=$(pidof picom)
echo 'launched new instance of picom with pid '$pid
fi