bspwm, scripts: Move service management to its own file
This commit is contained in:
		@@ -20,21 +20,12 @@
 | 
			
		||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
# SOFTWARE.
 | 
			
		||||
 | 
			
		||||
## Clean up some variables that I use in device-specific scripts
 | 
			
		||||
unset PB_BAR_WIDTH
 | 
			
		||||
unset PB_MONITOR
 | 
			
		||||
 | 
			
		||||
## Patch path, if not already done
 | 
			
		||||
if [[ "$PATH" != "*$HOME/.local/bin*" ]]; then
 | 
			
		||||
	printf "[INFO] Patching path for $HOME/.local/bin\n"
 | 
			
		||||
	export PATH="$HOME/.local/bin:$PATH"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
## Load device-specific scripts
 | 
			
		||||
if [[ -x ".config/bspwm/$(hostname).rc" ]]; then
 | 
			
		||||
	printf "[INFO] Sourcing .config/bspwm/$(hostname).rc\n"
 | 
			
		||||
	source .config/bspwm/$(hostname).rc
 | 
			
		||||
## Load session startup script
 | 
			
		||||
dtfscript=$HOME/.config/dtfscripts/wmstartup.sh
 | 
			
		||||
if [[ -x "$dtfscript" ]]; then
 | 
			
		||||
	source "$dtfscript"
 | 
			
		||||
fi
 | 
			
		||||
unset dtfscript
 | 
			
		||||
 | 
			
		||||
## bspwm GENERAL CONFIGURATION
 | 
			
		||||
printf "[INFO] Setting up monitors\n"
 | 
			
		||||
@@ -91,55 +82,3 @@ bspc rule -a 'Minecraft 1.7.10' state=fullscreen
 | 
			
		||||
bspc rule -a plasmashell state=floating sticky=on border=off
 | 
			
		||||
bspc rule -a krunner state=floating layer=above sticky=on border=off
 | 
			
		||||
 | 
			
		||||
printf "[INFO] Performing simple configuration\n"
 | 
			
		||||
## SIMPLE CONFIGURATION
 | 
			
		||||
xset -b
 | 
			
		||||
xset -dpms
 | 
			
		||||
xset s off
 | 
			
		||||
# This depends on a script found at rehashedsalt/bin
 | 
			
		||||
xrdbupdate
 | 
			
		||||
 | 
			
		||||
## SERVICES AND DAEMONS
 | 
			
		||||
printf "[INFO] Killing existing daemons\n"
 | 
			
		||||
services="sxhkd polybar conky dunst compton"
 | 
			
		||||
for service in $services; do
 | 
			
		||||
	printf "  [INFO] Killing $service\n"
 | 
			
		||||
	killall $service
 | 
			
		||||
done
 | 
			
		||||
# Wallpaper management
 | 
			
		||||
# Note that this MUST happen before the compositor starts, otherwise xsetroot
 | 
			
		||||
# will not apply properly
 | 
			
		||||
if which xfdesktop; then
 | 
			
		||||
	printf "[INFO] Starting xfdesktop\n"
 | 
			
		||||
	xfdesktop&
 | 
			
		||||
elif which feh; then
 | 
			
		||||
	printf "[INFO] Setting wallpaper with feh\n"
 | 
			
		||||
	printf "[WARN] This solution may cause problems on multi-monitor systems\n"
 | 
			
		||||
	feh --randomize --bg-fill ~/Pictures/Wallpapers/.active &
 | 
			
		||||
elif which xsetroot; then
 | 
			
		||||
	printf "[INFO] Setting root window color\n"
 | 
			
		||||
	xsetroot -solid "#282828"
 | 
			
		||||
else
 | 
			
		||||
	printf "[WARN] Could not find any wallpaper manager\n"
 | 
			
		||||
fi
 | 
			
		||||
# Don't start the compositor in a VM
 | 
			
		||||
if [[ $(hostname) != "vm"* ]]; then
 | 
			
		||||
	printf "  [INFO] Starting compton\n"
 | 
			
		||||
	compton &
 | 
			
		||||
fi
 | 
			
		||||
# Different startup for OpenBSD and Linux
 | 
			
		||||
if [[ $(uname) == "Linux" ]]; then
 | 
			
		||||
	printf "[INFO] Starting Linux tasks\n"
 | 
			
		||||
	compton &
 | 
			
		||||
	$HOME/.config/polybar/start.sh &
 | 
			
		||||
	sxhkd &
 | 
			
		||||
else
 | 
			
		||||
	printf "[INFO] Starting OpenBSD tasks\n"
 | 
			
		||||
	sxhkd -c $XDG_CONFIG_HOME/sxhkd/sxhkdrc-obsd &
 | 
			
		||||
fi
 | 
			
		||||
# Start these all the time regardless of platform
 | 
			
		||||
printf "[INFO] Starting platform-independent tasks\n"
 | 
			
		||||
conky&
 | 
			
		||||
dunst&
 | 
			
		||||
printf "[INFO] Finished initialization\n"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										95
									
								
								.config/dtfscripts/wmstartup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										95
									
								
								.config/dtfscripts/wmstartup.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2018 rehashedsalt/vintagesalt
 | 
			
		||||
# 
 | 
			
		||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
# of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
# in the Software without restriction, including without limitation the rights
 | 
			
		||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
# copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
# furnished to do so, subject to the following conditions:
 | 
			
		||||
# 
 | 
			
		||||
# The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
# copies or substantial portions of the Software.
 | 
			
		||||
# 
 | 
			
		||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
# SOFTWARE.
 | 
			
		||||
 | 
			
		||||
## Clean up some variables that I use in device-specific scripts
 | 
			
		||||
unset PB_BAR_WIDTH
 | 
			
		||||
unset PB_MONITOR
 | 
			
		||||
 | 
			
		||||
## Patch path, if not already done
 | 
			
		||||
if [[ "$PATH" != "*$HOME/.local/bin*" ]]; then
 | 
			
		||||
	printf "[INFO] Patching path for $HOME/.local/bin\n"
 | 
			
		||||
	export PATH="$HOME/.local/bin:$PATH"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
## Load device-specific scripts
 | 
			
		||||
if [[ -x ".config/bspwm/$(hostname).rc" ]]; then
 | 
			
		||||
	printf "[INFO] Sourcing .config/bspwm/$(hostname).rc\n"
 | 
			
		||||
	source .config/bspwm/$(hostname).rc
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
printf "[INFO] Performing simple configuration\n"
 | 
			
		||||
## SIMPLE CONFIGURATION
 | 
			
		||||
xset -b
 | 
			
		||||
xset -dpms
 | 
			
		||||
xset s off
 | 
			
		||||
# This depends on a script found at rehashedsalt/bin
 | 
			
		||||
xrdbupdate
 | 
			
		||||
 | 
			
		||||
## SERVICES AND DAEMONS
 | 
			
		||||
printf "[INFO] Killing existing daemons\n"
 | 
			
		||||
services="sxhkd polybar conky dunst compton"
 | 
			
		||||
for service in $services; do
 | 
			
		||||
	printf "  [INFO] Killing $service\n"
 | 
			
		||||
	killall $service
 | 
			
		||||
done
 | 
			
		||||
for service in $services; do
 | 
			
		||||
	while pgrep $service; do
 | 
			
		||||
		sleep 0.5
 | 
			
		||||
	done
 | 
			
		||||
done
 | 
			
		||||
# Wallpaper management
 | 
			
		||||
# Note that this MUST happen before the compositor starts, otherwise xsetroot
 | 
			
		||||
# will not apply properly
 | 
			
		||||
if which xfdesktop 2&> /dev/null; then
 | 
			
		||||
	printf "  [INFO] Starting xfdesktop\n"
 | 
			
		||||
	xfdesktop&
 | 
			
		||||
elif which feh 2&> /dev/null; then
 | 
			
		||||
	printf "  [INFO] Setting wallpaper with feh\n"
 | 
			
		||||
	printf "  [WARN] This solution may cause problems on multi-monitor systems\n"
 | 
			
		||||
	feh --randomize --bg-fill ~/Pictures/Wallpapers/.active &
 | 
			
		||||
elif which xsetroot 2&> /dev/null; then
 | 
			
		||||
	printf "  [INFO] Setting root window color\n"
 | 
			
		||||
	xsetroot -solid "#282828"
 | 
			
		||||
else
 | 
			
		||||
	printf "  [WARN] Could not find any wallpaper manager\n"
 | 
			
		||||
fi
 | 
			
		||||
# Don't start the compositor in a VM
 | 
			
		||||
if [[ $(hostname) != "vm"* ]]; then
 | 
			
		||||
	printf "  [INFO] Starting compton\n"
 | 
			
		||||
	compton &
 | 
			
		||||
fi
 | 
			
		||||
# Different startup for OpenBSD and Linux
 | 
			
		||||
if [[ $(uname) == "Linux" ]]; then
 | 
			
		||||
	printf "[INFO] Starting Linux tasks\n"
 | 
			
		||||
	compton &
 | 
			
		||||
	$HOME/.config/polybar/start.sh &
 | 
			
		||||
	sxhkd &
 | 
			
		||||
else
 | 
			
		||||
	printf "[INFO] Starting OpenBSD tasks\n"
 | 
			
		||||
	sxhkd -c $XDG_CONFIG_HOME/sxhkd/sxhkdrc-obsd &
 | 
			
		||||
fi
 | 
			
		||||
# Start these all the time regardless of platform
 | 
			
		||||
printf "[INFO] Starting platform-independent tasks\n"
 | 
			
		||||
conky&
 | 
			
		||||
dunst&
 | 
			
		||||
printf "[INFO] Finished initialization\n"
 | 
			
		||||
 | 
			
		||||
 Submodule .local/bin updated: 2cfc81d11f...3bdc167c24
									
								
							
		Reference in New Issue
	
	Block a user