#!/bin/dash key_input=$1 flag=$2 # # Calc workspace swich # 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 F*) f_key_number=${key_input#F} ;; 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)) if [ "$workspace_number" -eq "$last_workspace" ]; then exit 0 fi # # Hooks # case $workspace_number in 30) workspace_number=48 ;; esac # # swich # if [ "$flag" = "move" ]; then swaymsg move container to workspace number $workspace_number exit 0 else swaymsg workspace $workspace_number fi echo "$workspace_number" > /tmp/last_workspace echo "$f_key_number" > /tmp/f_key_number echo "$digit_key_number" > /tmp/digit_key_number # # Post swich | Game workspace - disable touchpad # case $workspace_number in 51) swaymsg input type:touchpad events disabled ;; *) swaymsg input type:touchpad events enabled ;; esac case $workspace_number in *) swaymsg input type:keyboard xkb_switch_layout 0 ;; esac