#!/bin/sh
# This is a script aimed at replicating the functionality of DWM where
# there are 9 workspaces per monitor.

if [ ! "$1" = "goto" ] && [ ! "$1" = "moveto" ]; then
    echo "Invalid instruction"
    exit 1
fi

case $2 in
    ''|*[!0-9]*)
        echo "Provide a number"
        exit 1
        ;;
    *) ;;
esac

monitor="$(hyprctl activeworkspace | grep "monitorID:" | awk '{print $2}')"
workspace="$(($monitor * 10 + $2))"
hyprctl dispatch moveworkspacetomonitor "$workspace" "$monitor"
hyprctl dispatch focusmonitor "$monitor"

case "$1" in
    goto)
        hyprctl dispatch workspace "$workspace"
        ;;
    moveto)
        hyprctl dispatch movetoworkspace "$workspace"
        ;;
    *) ;;
esac

