From 504bebb6840b679fc430181fc0224857431acedd Mon Sep 17 00:00:00 2001 From: Sardorbek Imomaliev Date: Sun, 14 Mar 2021 16:46:23 +0700 Subject: [PATCH] allow to shorten keyboard layout output --- keyboard_layout.tmux | 18 +++++++++++------- scripts/get_keyboard_layout.sh | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/keyboard_layout.tmux b/keyboard_layout.tmux index ff0589c..ff9938f 100755 --- a/keyboard_layout.tmux +++ b/keyboard_layout.tmux @@ -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 diff --git a/scripts/get_keyboard_layout.sh b/scripts/get_keyboard_layout.sh index 01a1cec..03937c7 100755 --- a/scripts/get_keyboard_layout.sh +++ b/scripts/get_keyboard_layout.sh @@ -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 ' ;'