Add daemon and program starter script

This commit is contained in:
Riyyi
2019-05-29 00:20:33 +02:00
parent 565faa1b81
commit e3bc8874b9
5 changed files with 99 additions and 15 deletions
+93
View File
@@ -0,0 +1,93 @@
#!/bin/sh
help() {
B=$(tput bold)
U=$(tput smul)
N=$(tput sgr0)
cat << EOF
${B}NAME${N}
pidctl.sh - Daemon and program starter
${B}SYNOPSIS${N}
${B}pidctl.sh${N} [${U}OPTION${N}]
${B}OPTIONS${N}
${B}-d${N}
Start daemons, run this from xinitrc.
${B}-p${N}
Program startup, run this from WM config.
EOF
}
start() {
[ -z "$1" ] && return 1
IS_RUNNING=$(pidof -x "$(echo "$@" | cut -d ' ' -f 1)")
[ -z "$IS_RUNNING" ] && $@ &
}
daemon() {
start dunst
start redshift
start emacs --daemon
start thunar --daemon
start sxhkd "$XDG_CONFIG_HOME/sxhkd/$WM"
start xss-lock -- "$HOME"/.scripts/wm/lock.sh
[ "$WM" = "bspwm" ] && start stalonetray
}
program() {
# Application startup always
"$HOME"/.scripts/wm/wallpaper.sh &
"$HOME"/.scripts/panel/lemonbar.sh &
# Application startup once
# Firefox
start firefox
# Thunar
[ "$(xdo id -a Thunar | wc -l)" -lt 4 ] && thunar &
# URxvt
if [ "$WM" = "bspwm" ]; then
# Start urxvt on desktop 3
$(bspc rule -a URxvt desktop="^$WS3" \
&& start urxvt \
&& sleep 3 \
&& bspc rule -r URxvt desktop) &
elif [ "$WM" = "i3" ]; then
start urxvt
fi
}
# If no option is provided
[ "$#" -eq 0 ] && help && exit
SCRIPT="$(basename "$0")"
# Option handling
while getopts 'hdp' opt; do
case $opt in
h)
help
exit
;;
d)
daemon
;;
p)
program
;;
\?)
echo "Try '$SCRIPT -h' for more information."
exit 1
;;
esac
done