#!/bin/bash # Extract workspace ID from the output of hyprctl activewindow current_monitor=$(hyprctl activeworkspace | grep 'monitorID' | awk '{print $2}') current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') # Determine the second workspace based on whether the current workspace is even or odd if [ $((current_workspace % 2)) -eq 0 ]; then second_workspace=$((current_workspace - 1)) else second_workspace=$((current_workspace + 1)) fi # Assign primary and secondary monitor workspaces based on the current workspace if [ $((current_workspace % 2)) -eq 0 ]; then primary_monitor_workspace=$((second_workspace - 2)) # left secondary_monitor_workspace=$((current_workspace - 2)) # right else primary_monitor_workspace=$((current_workspace - 2)) secondary_monitor_workspace=$((second_workspace - 2)) fi # Check if primary_monitor_workspace is less than or equal to 0 # or if secondary_monitor_workspace is greater than or equal to 11 if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 9 ]; then exit 1 fi # hyprctl dispatch focusmonitor 0 \ # &&hyprctl dispatch workspace $primary_monitor_workspace \ # &&hyprctl dispatch focusmonitor 1 \ # &&hyprctl dispatch workspace $secondary_monitor_workspace \ # &&hyprctl dispatch focusmonitor $current_monitor hyprctl --batch " dispatch focusmonitor 0 ; dispatch workspace $primary_monitor_workspace ; dispatch dispatch focusmonitor 1 ; dispatch workspace $secondary_monitor_workspace ; dispatch focusmonitor $current_monitor " exit 0