From 26d8ea70434b7dd051f8856613c0d7bbd9a60315 Mon Sep 17 00:00:00 2001
From: Salt <rehashedsalt@cock.li>
Date: Tue, 21 Aug 2018 22:59:37 -0500
Subject: [PATCH] wmstartup: Add xob logic

---
 .config/dtfscripts/wmstartup.sh | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/.config/dtfscripts/wmstartup.sh b/.config/dtfscripts/wmstartup.sh
index 16396e04..111f3277 100755
--- a/.config/dtfscripts/wmstartup.sh
+++ b/.config/dtfscripts/wmstartup.sh
@@ -129,6 +129,35 @@ fi
 # XOB
 if which xob > /dev/null 2>&1; then
 	printf "  [INFO] Starting xob instances\n"
+	pipes="XOB_PIPE_BRIGHTNESS XOB_PIPE_VOLUME XOB_PIPE_MISC"
+	# Clean up earlier temp folders
+	for file in /tmp/$USER-xob-*; do
+		printf "    [INFO] Found old xob directory \"$file\"\n"
+		for pipe in $pipes; do
+			if [ -p "$file/$pipe" ]; then
+				printf "      [INFO] Contained old pipe \"$pipe\". Removing\n"
+				rm "$file/$pipe"
+			fi
+		done
+		rmdir "$file" && printf "    [INFO] Successfully cleaned up\n" || printf "    [WARN] Failed to clean up\n"
+	done
+	# Set up new pipes
+	export XOB_PIPE_DIR="/tmp/$USER-xob-$(date +%s)-$(uuidgen)"
+	printf "    [INFO] Using pipe directory \"$XOB_PIPE_DIR\"\n"
+	mkdir -m 700 "$XOB_PIPE_DIR"
+	for pipe in $pipes; do
+		if [ -p "$XOB_PIPE_DIR/$pipe" ]; then
+			printf "    [INFO] Removing existing pipe \"$pipe\"\n"
+			rm "$XOB_PIPE_DIR/$pipe"
+		fi
+		mkfifo "$XOB_PIPE_DIR/$pipe"
+		if [ -p "$XOB_PIPE_DIR/$pipe" ]; then
+			printf "    [INFO] Successfully created pipe \"$pipe\". Binding an xob instance to it\n"
+			tail -f "$XOB_PIPE_DIR/$pipe" | xob -s "$pipe" &
+		else
+			printf "    [WARN] Failed to create pipe \"$pipe\"\n"
+		fi
+	done
 else
 	printf "  [INFO] Could not find a bar overlay application\n"
 fi