SexiSway/scripts/workspace-manager
2025-03-25 04:00:12 +03:00

76 lines
2.0 KiB
Bash
Executable File

#!/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