From d88c1818425efc41c821201cc3d5c2bd8107de79 Mon Sep 17 00:00:00 2001
From: Salt <rehashedsalt@cock.li>
Date: Wed, 18 Jul 2018 18:14:57 -0500
Subject: [PATCH] bspwm: Fix bugs in bspwmrc, add logging FINALLY got around to
 fixing that shitty god damn multi-monitor code

---
 .config/bspwm/bspwmrc | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc
index 5f3327cd..35702cd1 100755
--- a/.config/bspwm/bspwmrc
+++ b/.config/bspwm/bspwmrc
@@ -26,15 +26,18 @@ if [[ "$PATH" != "*$HOME/.local/bin*" ]]; then
 fi
 
 ## bspwm GENERAL CONFIGURATION
+printf "[..] Setting up monitors\n"
 monitors=$(bspc query -M | wc -l)
-desktops=9
+desktops=8
 deskpermon=$(expr $desktops / $monitors)
 i=1
+printf "  [..] Putting $desktops desktops across $monitors monitors, $deskpermon each\n"
 for monitor in $(bspc query -M); do
-	until [[ "$(expr $i % $deskpermon)" == *"0"* ]]; do
+	until [[ "$(expr $i % \( $deskpermon + 1 \))" == "0" ]]; do
 		layout="$layout $i"
 		i=$(expr $i + 1)
 	done
+	printf "  [..] Giving monitor $monitor layout $layout\n"
 	bspc monitor $monitor -d $layout
 	layout="$i"
 	i=$(expr $i + 1) 
@@ -44,6 +47,7 @@ unset monitors
 unset desktops
 unset deskpermon
 
+printf "[..] Configuring bspwm\n"
 bspc config border_width	4
 bspc config window_gap		6
 
@@ -53,7 +57,7 @@ bspc config gapless_monocle	true
 bspc config remove_disabled_monitors	true
 bspc config remove_unplugged_monitors	true
 
-bspc config click_to_focus		true
+bspc config click_to_focus		any
 
 bspc config pointer_follows_monitor	true
 bspc config pointer_modifier		mod1
@@ -63,9 +67,9 @@ bspc config pointer_action2		resize_corner
 bspc config normal_border_color			"#3c3836"
 bspc config active_border_color			"#a0a0a0"
 bspc config focused_border_color		"#83a598"
-bspc config presel_border_color			"#9b9b9b"
-bspc config urgent_border_color			"#fabd2f"
+bspc config presel_feedback_color		"#9b9b9b"
 
+printf "[..] Setting window rules\n"
 ## bspwm WINDOW RULES
 bspc rule -r '*'
 bspc rule -a Waterfox desktop=1
@@ -76,6 +80,7 @@ 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 "[..] Performing simple configuration\n"
 ## SIMPLE CONFIGURATION
 xset -b
 xset -dpms
@@ -85,23 +90,30 @@ xrdbupdate
 
 ## SERVICES AND DAEMONS
 feh --randomize --bg-fill ~/Pictures/Wallpapers/.active &
+printf "[..] Killing existing daemons\n"
 services="sxhkd polybar conky dunst compton"
 for service in $services; do
+	printf "  [..] Killing $service\n"
 	killall $service
 done
 # Don't start the compositor in a VM
 if [[ $(hostname) != "vm"* ]]; then
+	printf "  [..] Starting compton\n"
 	compton &
 fi
 # Different startup for OpenBSD and Linux
 if [[ $(uname) == "Linux" ]]; then
+	printf "[..] Starting Linux tasks\n"
 	compton &
 	$HOME/.config/polybar/start.sh &
 	sxhkd &
 else
+	printf "[..] Starting OpenBSD tasks\n"
 	sxhkd -c $XDG_CONFIG_HOME/sxhkd/sxhkdrc-obsd &
 fi
 # Start these all the time regardless of platform
+printf "[..] Starting platform-independent tasks\n"
 conky&
 dunst&
+printf "[..] Finished initialization\n"