#!/bin/sh active() { num=$(river-bedload -print outputs | jq -r '.['$arg'] | select(.).view_tags') b=0 while [ "$num" -gt 0 ] do temp=$((num%2)) if [ $temp -eq 1 ] then count=$((count+1)) fi num=$((num/2)) b=$((b+1)) if [ $temp -eq 1 ] then echo $b fi done return } #define icons for workspaces 1-9 ic1="1" ic2="2" ic3="3" ic4="4" ic5="5" ic6="6" ic7="7" ic8="8" ic9="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\" \"$ic1\") \ (button :onclick \"riverctl set-focused-tags $((1 << (2 - 1)))\" :class \"w0$o2$f2\" \"$ic2\") \ (button :onclick \"riverctl set-focused-tags $((1 << (3 - 1)))\" :class \"w0$o3$f3\" \"$ic3\") \ (button :onclick \"riverctl set-focused-tags $((1 << (4 - 1)))\" :class \"w0$o4$f4\" \"$ic4\") \ (button :onclick \"riverctl set-focused-tags $((1 << (5 - 1)))\" :class \"w0$o5$f5\" \"$ic5\") \ (button :onclick \"riverctl set-focused-tags $((1 << (6 - 1)))\" :class \"w0$o6$f6\" \"$ic6\") \ (button :onclick \"riverctl set-focused-tags $((1 << (7 - 1)))\" :class \"w0$o7$f7\" \"$ic7\") \ (button :onclick \"riverctl set-focused-tags $((1 << (8 - 1)))\" :class \"w0$o8$f8\" \"$ic8\") \ (button :onclick \"riverctl set-focused-tags $((1 << (9 - 1)))\" :class \"w0$o9$f9\" \"$ic9\") \ )" } workspaces "$1" river-bedload -watch active | while read -r line; do workspaces "$1" done