私はいくつかのキーボードレイアウトを使用していますが、レイアウトを切り替えるときにスクリプトを実行する方法を見つけたいと思います。
可能ですか?
これまでは、次のようにスクリプトにショートカットを割り当てることができます。
#!/bin/bash
#switch between two layouts (English and Greek in this case)
current_layouts=$(gsettings get org.gnome.libgnomekbd.keyboard layouts)
if [ "$current_layouts" = "us" ]; then
gsettings set org.gnome.libgnomekbd.keyboard layouts "['gr']"
else
gsettings set org.gnome.libgnomekbd.keyboard layouts "['us']"
fi
exec /path/to/another/script
ただし、このアプローチでは、ショートカットのみを使用してレイアウトを切り替えることができ、キーボードインジケータがステータスメニューから消えて不便になります。
ベストアンサー1
dconf watch
イベントリスナーとして使用できます(例:Ubuntu 13.10/14.04)。
dconf watch /org/gnome/desktop/input-sources/current | xargs -L 2 sh -c "echo kbd layout changed" &