#!/bin/bash

# Calc swich
key_input=$1
flag=$2

workspace_number=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused==true) | .name')
last_workspace=$(cat /tmp/last_workspace 2>/dev/null)
f_key_number=$(cat /tmp/f_key_number 2>/dev/null || echo 0)
digit_key_number=$(cat /tmp/digit_key_number 2>/dev/null || echo 0)

case $key_input in
    F1) f_key_number=1 ;;
    F2) f_key_number=2 ;;
    F3) f_key_number=3 ;;
    F4) f_key_number=4 ;;
    F5) f_key_number=5 ;;
    F6) f_key_number=6 ;;
    F7) f_key_number=7 ;;
    F8) f_key_number=8 ;;
    F9) f_key_number=9 ;;
    F10) f_key_number=10 ;;
    F11) f_key_number=11 ;;
    F12) f_key_number=12 ;;
    0) digit_key_number=10;;
    [1-9]) digit_key_number=$key_input ;;
    *) echo "Invalid key input"; exit 1 ;;
esac
workspace_number=$((f_key_number * 10 + digit_key_number))

# Hooks
case $workspace_number in
    30) workspace_number=48 ;; # Krita
esac

# swich
if [[ $flag == "move" ]]; then
    swaymsg move container to workspace number $workspace_number
else
    swaymsg workspace $workspace_number
fi

echo "$current_workspace" > /tmp/last_workspace
echo "$f_key_number" > /tmp/f_key_number
echo "$digit_key_number" > /tmp/digit_key_number
# End swich





# Post swich
case $workspace_number in
    51)
        xinput set-prop "ASUE1305:00 04F3:3212 Touchpad" "libinput Disable While Typing Enabled" 0
        ;;
    48)
        xinput set-prop "ASUE1305:00 04F3:3212 Touchpad" "libinput Disable While Typing Enabled" 0
        ;;
    30)
        xinput set-prop "ASUE1305:00 04F3:3212 Touchpad" "libinput Disable While Typing Enabled" 0
        ;;
    18)
        xinput set-prop "ASUE1305:00 04F3:3212 Touchpad" "libinput Disable While Typing Enabled" 0
        ;;
    *)
        xinput set-prop "ASUE1305:00 04F3:3212 Touchpad" "libinput Disable While Typing Enabled" 1
        ;;
esac

case $workspace_number in
    *)
        setxkbmap us; sleep 0.1; setxkbmap -layout "us,ru" -option "grp:alt_shift_toggle"
        ;;
esac