dotfiles-test/.config/waybar/get_layout.sh
2024-08-02 01:33:42 +03:00

31 lines
864 B
Bash
Executable File

getFlagEmoji() {
local countryCode=$1
local flag=""
# Convert country code to uppercase
countryCode=$(echo "$countryCode" | tr '[:lower:]' '[:upper:]')
# Iterate over each character in the country code
for (( i=0; i<${#countryCode}; i++ )); do
char="${countryCode:$i:1}"
# Calculate the code point for the flag emoji
codePoint=$((127397 + $(printf "%d" "'$char")))
# Convert code point to the corresponding Unicode character
flag+=$(printf "\\U$(printf '%08x' $codePoint)")
done
echo "$flag"
}
# TODO: get keyboard name dynamically
countryCode=$(hyprctl devices -j |
jq -r '.keyboards[] | select(.name == "at-translated-set-2-keyboard") | .active_keymap' |
cut -c1-2 |
tr 'a-z' 'A-Z')
if [ "$countryCode" = "EN" ]; then
flagEmoji="🇺🇸"
else
flagEmoji=$(getFlagEmoji "$countryCode")
fi
echo "$flagEmoji"