Files
MyI3Config-fork/scripts/layout-toggle.sh
2026-02-09 11:42:36 +00:00

22 lines
737 B
Bash
Executable File

#!/bin/bash
# Toggle between CH and US layouts
if [ -n "$SWAYSOCK" ]; then
# Sway: get current layout and toggle
current=$(swaymsg -t get_inputs | jq -r '.[] | select(.type=="keyboard") | .xkb_active_layout_name' | head -1)
if [ "$current" = "Swiss" ] || [ "$current" = "ch" ]; then
swaymsg input "*" xkb_layout "us"
swaymsg input "*" xkb_variant "workman"
else
swaymsg input "*" xkb_layout "ch"
swaymsg input "*" xkb_variant "de"
fi
else
# i3: get current layout and toggle
current=$(setxkbmap -query | grep layout | awk '{print $2}')
if [ "$current" = "ch" ]; then
setxkbmap -layout us -variant workman
else
setxkbmap -layout ch -variant de
fi
fi