Riyyi
6 years ago
5 changed files with 99 additions and 15 deletions
@ -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 |
Loading…
Reference in new issue