Eu fiz uma pequena melhoria para este script. Agora não quebra o comutador de teclado WM. Funciona um pouco diferente, como TS quer, mas eu acho que é mais conveniente, pelo menos para mim
Você deve alterar o modelo e as opções do teclado, se desejar
#!/bin/sh
current='setxkbmap -query | grep layout|cut -d ',' -f 2'
if [ "$current" == 'pl' ]
then
notify-send -t 1500 -i keyboard "Keyboard layouts: EN / RU"
setxkbmap -model logitech_base -layout en,ru -variant , -option grp:caps_toggle,compose:rwin
else
notify-send -t 1500 -i keyboard "Keyboard layouts: UA / PL"
setxkbmap -model logitech_base -layout ua,pl -variant , -option grp:caps_toggle,compose:rwin
fi