diff options
Diffstat (limited to '')
-rwxr-xr-x | .i3-blocks/blocks/keymap | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/.i3-blocks/blocks/keymap b/.i3-blocks/blocks/keymap new file mode 100755 index 0000000..f25ee98 --- /dev/null +++ b/.i3-blocks/blocks/keymap @@ -0,0 +1,27 @@ +#!/bin/bash + +KEYMAP_DIRECTORY='/usr/share/kbd/keymaps' + +# Aprrently localectl status does not update on keymap change. However, setxkbmap does. +XKB_OUTPUT=$(setxkbmap -query) +VC_KEYMAP=$(echo "${XKB_OUTPUT}" | grep "layout" | awk -F ':' '{print $2}' | tr -d ' ') +VC_VARIANT=$(echo "${XKB_OUTPUT}" | grep "variant" | awk -F ':' '{print $2}' | tr -d ' ') + +# Keymap has not been specific, so it's not configured properly +if [[ "${VC_KEYMAP}" == "" ]]; then + exit 1 +fi + +KEYMAP_FILE="${VC_KEYMAP}*" + +if [[ "${VC_VARIANT}" != "" ]]; then + KEYMAP_FILE="${KEYMAP_FILE}${VC_VARIANT}*" +fi + +KEYMAP_NAME=$(basename $(dirname $(find ${KEYMAP_DIRECTORY} -name "${KEYMAP_FILE}"))) + +if [[ "${KEYMAP_NAME}" ]]; then + echo "${KEYMAP_NAME}" + echo "${KEYMAP_NAME}" + echo "" +fi
\ No newline at end of file |