aboutsummaryrefslogtreecommitdiff
path: root/.config/eww/scripts/workspace.sh
diff options
context:
space:
mode:
authorJustine Smithies <justine@smithies.me.uk>2024-11-08 20:48:58 +0000
committerJustine Smithies <justine@smithies.me.uk>2024-11-08 20:48:58 +0000
commitc2fbc4d1717864a0055592e0b73d71c010e8686c (patch)
tree76e5bf50cc0f9c1b83f474740a8015d7f4e0ef26 /.config/eww/scripts/workspace.sh
parentb9d24b3b6bdaed04fab07d9150c51d4f0f7a5c7d (diff)
Initial commit
Diffstat (limited to '.config/eww/scripts/workspace.sh')
-rwxr-xr-x.config/eww/scripts/workspace.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/.config/eww/scripts/workspace.sh b/.config/eww/scripts/workspace.sh
new file mode 100755
index 0000000..7e48bfa
--- /dev/null
+++ b/.config/eww/scripts/workspace.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+
+active() {
+num=$(river-bedload -print outputs | jq -r '.['$arg'] | select(.).view_tags')
+b=0
+while [[ $num -gt 0 ]]
+do
+ let temp=$num%2
+ if [[ $temp -eq 1 ]]
+ then
+ let count=$count+1
+ fi
+ let num=$num/2
+ let b=b+1
+ if [[ $temp -eq 1 ]]
+ then
+ echo $b
+ fi
+done
+return
+}
+
+#define icons for workspaces 1-9
+ic=(0 1 2 3 4 5 6 7 8 9)
+
+workspaces() {
+export arg="$1"
+ unset -v \
+ o1 o2 o3 o4 o5 o6 o7 o8 o9 \
+ f1 f2 f3 f4 f5 f6 f7 f8 f9
+
+if [[ $arg = 0 && $(river-bedload -print outputs | jq -r '.[''] | select(.).name' | wc -l | xargs) -gt 1 ]]
+then
+ arg=1
+else
+ arg=0
+fi
+
+ows="$(active)"
+for num in $ows; do
+ export o"$num"="$num"
+done
+
+# Get Focused workspace for current monitor ID
+num=$(river-bedload -print focused | jq -r '.['$arg'] | select(.).focused_id')
+export f"$num"="$num"
+
+echo "(box :class \"workspace\" :orientation \"h\" :space-evenly \"false\" \
+ (button :onclick \"riverctl set-focused-tags $((1 << (1 - 1)))\" :class \"w0$o1$f1\" \"${ic[1]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (2 - 1)))\" :class \"w0$o2$f2\" \"${ic[2]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (3 - 1)))\" :class \"w0$o3$f3\" \"${ic[3]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (4 - 1)))\" :class \"w0$o4$f4\" \"${ic[4]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (5 - 1)))\" :class \"w0$o5$f5\" \"${ic[5]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (6 - 1)))\" :class \"w0$o6$f6\" \"${ic[6]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (7 - 1)))\" :class \"w0$o7$f7\" \"${ic[7]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (8 - 1)))\" :class \"w0$o8$f8\" \"${ic[8]}\") \
+ (button :onclick \"riverctl set-focused-tags $((1 << (9 - 1)))\" :class \"w0$o9$f9\" \"${ic[9]}\") \
+ )"
+}
+
+workspaces $1
+river-bedload -watch active | while read -r; do
+workspaces $1
+done