Add daemon and program starter script
This commit is contained in:
Executable
+93
@@ -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
|
||||
Reference in New Issue
Block a user