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