aboutsummaryrefslogtreecommitdiff
path: root/.config/eww/scripts/workspace.sh
diff options
context:
space:
mode:
Diffstat (limited to '.config/eww/scripts/workspace.sh')
-rwxr-xr-x.config/eww/scripts/workspace.sh71
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