diff options
Diffstat (limited to '.config/eww/scripts')
-rwxr-xr-x | .config/eww/scripts/workspace.sh | 71 |
1 files changed, 51 insertions, 20 deletions
diff --git a/.config/eww/scripts/workspace.sh b/.config/eww/scripts/workspace.sh index a72bc81..305c882 100755 --- a/.config/eww/scripts/workspace.sh +++ b/.config/eww/scripts/workspace.sh @@ -1,42 +1,73 @@ #! /bin/bash -# Define icons for workspaces 1-9 -ic=(0 ) +active() { +if [[ $arg = 0 ]] +then + arg=1 +else + arg=0 +fi +num=$(river-bedload -print outputs | jq -r '.['$arg'] | select(.).view_tags') +num=$(echo $num | awk -F' ' '{print $1}') +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 $b +} -workspaces() { +#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 -# Get occupied workspaces -ows="$(swaymsg -t get_workspaces -r | jq -r -c '.[] | .name')" - +ows="$(active)" for num in $ows; do export o"$num"="$num" done # Get Focused workspace for current monitor ID -arg="$1" -num="$(swaymsg -t get_outputs --raw | jq --argjson arg "$arg" -r -c '.[$arg].current_workspace')" +export arg="$1" +if [[ $arg = 0 ]] +then + arg=1 +else + arg=0 +fi +num=$(river-bedload -print focused | jq -r '.['$arg'] | select(.).focused_id') export f"$num"="$num" -echo "(eventbox :onscroll \"echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xargs swaymsg workspace \" \ +echo "(eventbox :onscroll \"echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xargs hyprctl dispatch workspace\" \ (box :class \"workspace\" :orientation \"h\" :space-evenly \"false\" \ - (button :onclick \"scripts/dispatch.sh 1\" :class \"w0$o1$f1\" \"${ic[1]} ₁\") \ - (button :onclick \"scripts/dispatch.sh 2\" :class \"w0$o2$f2\" \"${ic[2]} ₂\") \ - (button :onclick \"scripts/dispatch.sh 3\" :class \"w0$o3$f3\" \"${ic[3]} ₃\") \ - (button :onclick \"scripts/dispatch.sh 4\" :class \"w0$o4$f4\" \"${ic[4]} ₄\") \ - (button :onclick \"scripts/dispatch.sh 5\" :class \"w0$o5$f5\" \"${ic[5]} ₅\") \ - (button :onclick \"scripts/dispatch.sh 6\" :class \"w0$o6$f6\" \"${ic[6]} ₆\") \ - (button :onclick \"scripts/dispatch.sh 7\" :class \"w0$o7$f7\" \"${ic[7]} ₇\") \ - (button :onclick \"scripts/dispatch.sh 8\" :class \"w0$o8$f8\" \"${ic[8]} ₈\") \ - (button :onclick \"scripts/dispatch.sh 9\" :class \"w0$o9$f9\" \"${ic[9]} ₉\") \ + (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 -swaymsg -t subscribe -m "['workspace']" | while read -r _ ; do +workspaces $1 +river-bedload -watch active | while read -r; do workspaces $1 done |