aboutsummaryrefslogtreecommitdiff
path: root/.i3-blocks/blocks/launcher
diff options
context:
space:
mode:
Diffstat (limited to '.i3-blocks/blocks/launcher')
-rwxr-xr-x.i3-blocks/blocks/launcher26
1 files changed, 26 insertions, 0 deletions
diff --git a/.i3-blocks/blocks/launcher b/.i3-blocks/blocks/launcher
new file mode 100755
index 0000000..1e39432
--- /dev/null
+++ b/.i3-blocks/blocks/launcher
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+CONFIG_FILE="${BLOCK_INSTANCE:-~/.config/i3/config}"
+CONFIG_FILE=${CONFIG_FILE/\~/$HOME}
+
+LAUNCH_CMD=$(cat "${CONFIG_FILE}" | grep -v "^#" | grep -wi 'rofi\|dmenu' | awk -F 'exec ' '{print $2}')
+LAUNCH_NAME=$(echo "${LAUNCH_CMD}" | awk -F ' ' '{print $1}')
+
+VARIABLES=$(cat "${CONFIG_FILE}" | grep -E 'set\ \$' | awk -F ' ' '{$1 = "";print $0}')
+
+while read varPair; do
+ varName=$(echo "${varPair}" | awk -F ' ' '{print $1}')
+ varValue=$(echo "${varPair}" | awk -F ' ' '{print $2}')
+ #echo "Replacing ${varName} with ${varValue}"
+ LAUNCH_CMD=$(echo ${LAUNCH_CMD} | sed "s|$varName|$varValue|g")
+done <<< "$(echo -e "$VARIABLES")"
+
+#echo "${LAUNCH_CMD}" && exit
+
+echo "${LAUNCH_NAME}"
+echo "${LAUNCH_NAME}"
+echo ""
+
+if [[ "${BLOCK_BUTTON}" -gt 0 ]]; then
+ eval ${LAUNCH_CMD} &
+fi \ No newline at end of file