aboutsummaryrefslogtreecommitdiff
path: root/.config/eww/scripts/dispatch.sh
diff options
context:
space:
mode:
Diffstat (limited to '.config/eww/scripts/dispatch.sh')
-rwxr-xr-x.config/eww/scripts/dispatch.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/.config/eww/scripts/dispatch.sh b/.config/eww/scripts/dispatch.sh
new file mode 100755
index 0000000..e40f883
--- /dev/null
+++ b/.config/eww/scripts/dispatch.sh
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+activemonitor=$(hyprctl monitors -j | jq '.[] | select(.focused == true).id')
+passivemonitor=$(hyprctl monitors -j | jq '.[] | select(.focused == false).id')
+activews=$(hyprctl monitors -j | jq '.[] | select(.focused == true).activeWorkspace.id')
+passivews=$(hyprctl monitors -j | jq '.[] | select(.focused == false).activeWorkspace.id')
+
+# Comment out all lines below except the last to switch back to the default Hyprland dispatch method
+[[ $1 -eq $passivews ]] && [[ $passivemonitor != "$activemonitor" ]] && (hyprctl dispatch swapactiveworkspaces "$activemonitor $passivemonitor")
+hyprctl dispatch moveworkspacetomonitor "$1 $activemonitor"
+hyprctl dispatch focusmonitor "$activemonitor"
+hyprctl dispatch workspace "$1"