diff options
author | Justine Smithies <justine@smithies.me.uk> | 2024-11-08 20:48:58 +0000 |
---|---|---|
committer | Justine Smithies <justine@smithies.me.uk> | 2024-11-08 20:48:58 +0000 |
commit | c2fbc4d1717864a0055592e0b73d71c010e8686c (patch) | |
tree | 76e5bf50cc0f9c1b83f474740a8015d7f4e0ef26 /.config/eww/scripts/workspace.sh | |
parent | b9d24b3b6bdaed04fab07d9150c51d4f0f7a5c7d (diff) |
Initial commit
Diffstat (limited to '.config/eww/scripts/workspace.sh')
-rwxr-xr-x | .config/eww/scripts/workspace.sh | 64 |
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 |