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