# Print the currently used keyboard layout # This depends on a specifically developed program which prints the group id of # the currently used layout. # I developed the simple program myself with some guidance as I was unable to # find anything already developed. # Some people might suggest: # $ setxkbmod -query -v | awk -F "+" '{print $2}' # this will only work if you have set up XKB with a single layout which is true # for some. # This script will print the correct layout even if layout is set per window. # Exit if platform is not linux as this script is dependant on X11 run_segment() { if ! shell_is_linux; then return 1 fi cd "$TMUX_POWERLINE_DIR_SEGMENTS" if [ ! -x "xkb_layout" ]; then make clean xkb_layout &>/dev/null fi if [ -x ./xkb_layout ]; then cur_layout_nbr=$(($(./xkb_layout)+1)); cur_layout=$(setxkbmap -query | grep layout | sed 's/layout:\s\+//g' | \ awk -F ',' '{print $'$(echo "$cur_layout_nbr")'}') echo "⌨ $cur_layout" else return 1 fi }