Keyboard layout switching. Toggle between 2 of 3 languages.

 Let's say you have 3 languages on your linux machine: English, Russian and Belarusian. You frequently switch between EN and RU. Sometimes you write something in EN and BY. So you don't want to press Alt+Shift three times constantly, only when writing something in Belarusian.
I have made a followin script for that:


#!/bin/bash
current=`setxkbmap -query | grep layout|cut  -d ',' -f 2`
echo $current
if [ "$current" == "by" ]
then
    notify-send -t 500 -i keyboard "Keyboard layouts: US/RU"
    setxkbmap -model pc105 -layout us,ru -variant altgr-intl, -option grp:alt_shift_toggle
else
    notify-send -t 500 -i keyboard "Keyboard layouts: US/BY"
    setxkbmap -model pc105 -layout us,by -variant altgr-intl, -option grp:alt_shift_toggle
fi


Here I assume that Alt+Shift will be used to switch languages inside a group.
Save the scipt in /usr/local/bin as toggle_en_ru.sh (for example).
Add execution permissions. Like
sudo chmod +x /usr/local/bin/toggle_en_ru.sh

Go to keyboard layouts settings and add a new shortcut. Assign a shortcut for switching between languages groups. I decided to use Win+Space for language pairs (EN/RU <-> EN/BY) switching.


Sources and ideas from:
http://superuser.com/questions/505466/2-and-more-keyboard-layout-groups-in-linux-changed-by-different-hot-key


Querying existing configuration:
$setxkbmap -query



Golden Dict instead of Lingvo

Official web-site


http://goldendict.org/



Newer version for Windowshttps://github.com/goldendict/goldendict/wiki/Early-Access-Builds-for-Windows


Conversion (decompression) Lingvo *.lds  to *.dsl format
https://pypi.python.org/pypi/lingvoreader
it's a python module
install via

pip install lingvoreader