From f14b2c3ade2fb0adc391b3f76e34f242d91f500c Mon Sep 17 00:00:00 2001
From: Salt <rehashedsalt@cock.li>
Date: Wed, 29 Aug 2018 23:13:56 -0500
Subject: [PATCH] dtfscripts: Reconfigure Polybar depending on bspwm gap

---
 .config/dtfscripts/services/polybar.dtf | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/.config/dtfscripts/services/polybar.dtf b/.config/dtfscripts/services/polybar.dtf
index 110cd349..8ee8fac5 100755
--- a/.config/dtfscripts/services/polybar.dtf
+++ b/.config/dtfscripts/services/polybar.dtf
@@ -10,11 +10,20 @@ service_name="Polybar"
 service_process="polybar"
 
 function start() {
+	# Set some variables, if necessary
+	if [[ "$PB_BAR_BORDER_SIZE" == "" ]] && pgrep bspwm > /dev/null 2>&1; then
+		if ! [[ "$BSPWM_WINDOW_GAP" == "" ]]; then
+			svc_log "Inferring bar size from BSPWM_WINDOW_GAP"
+			export PB_BAR_BORDER_SIZE="$BSPWM_WINDOW_GAP"
+		fi
+	fi
+	# Spawn bars on the primary monitor
 	export PB_MONITOR=$(xrandr -q | awk '/primary/{print $1}')
 	svc_log "Starting primary on monitor $PB_MONITOR"
 	polybar -r primary& > /dev/null 2>&1
 	polybar -r primary-2& > /dev/null 2>&1
 
+	# Spawn more for each secondary
 	export secondary_monitors=$(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}')
 	if [[ "$secondary_monitors" == "" ]]; then
 		return 0