allow to shorten keyboard layout output

This commit is contained in:
Sardorbek Imomaliev 2021-03-14 16:46:23 +07:00
parent 2f6c1a55f5
commit 504bebb684
2 changed files with 12 additions and 7 deletions

View file

@ -8,19 +8,23 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
place_holder="\#{keyboard_layout}"
keyboard_layout_option_scope='@keyboard_layout:option_scope'
keyboard_layout="#($CURRENT_DIR/scripts/get_keyboard_layout.sh)"
keyboard_layout_length='@keyboard_layout:length'
get_keyboard_layout="$CURRENT_DIR/scripts/get_keyboard_layout.sh"
interpolate() {
local -r status="$1"
local -r _keyboard_layout_option_scope="$2"
local -r option_value=$(tmux show-option -"$_keyboard_layout_option_scope"qv "$status")
tmux set-option -"$_keyboard_layout_option_scope"q "$status" "${option_value/$place_holder/$keyboard_layout}"
local -r option_scope="$2"
local -r length="$3"
local -r option_value=$(tmux show-option -"$option_scope"qv "$status")
local -r keyboard_layout="#($get_keyboard_layout | head -c $length)"
tmux set-option -"$option_scope"q "$status" "${option_value/$place_holder/$keyboard_layout}"
}
main() {
local -r _keyboard_layout_option_scope="$(tmux show-option -gqv "${keyboard_layout_option_scope:-g}")"
interpolate "status-left" "$_keyboard_layout_option_scope"
interpolate "status-right" "$_keyboard_layout_option_scope"
local -r option_scope="$(tmux show-option -gqv "${keyboard_layout_option_scope:-g}")"
local -r length="$(tmux show-option -gqv "${keyboard_layout_length:-16}")"
interpolate "status-left" "$option_scope" "$length"
interpolate "status-right" "$option_scope" "$length"
}
main

View file

@ -1,3 +1,4 @@
#!/bin/bash
set -euo pipefail
defaults read ~/Library/Preferences/com.apple.HIToolbox.plist AppleSelectedInputSources | grep "KeyboardLayout Name" | cut -f 2 -d "=" | tr -d ' ;'