From 07fc2644a237187dd4c5680e88f4adadbf533603 Mon Sep 17 00:00:00 2001 From: Cody Hiar Date: Wed, 12 Aug 2015 12:06:23 -0600 Subject: Initial commit of the working files --- segments/pwd.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 segments/pwd.sh (limited to 'segments/pwd.sh') diff --git a/segments/pwd.sh b/segments/pwd.sh new file mode 100755 index 0000000..2499762 --- /dev/null +++ b/segments/pwd.sh @@ -0,0 +1,39 @@ +# Print the current working directory (trimmed to max length). +# NOTE The trimming code's stolen from the web. Courtesy to who ever wrote it. + +# Source lib to get the function get_tmux_pwd +source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh" + +TMUX_POWERLINE_SEG_PWD_MAX_LEN_DEFAULT="40" + +generate_segmentrc() { + read -d '' rccontents << EORC +# Maximum length of output. +export TMUX_POWERLINE_SEG_PWD_MAX_LEN="${TMUX_POWERLINE_SEG_PWD_MAX_LEN_DEFAULT}" +EORC + echo "$rccontents" +} + +__process_settings() { + if [ -z "$TMUX_POWERLINE_SEG_PWD_MAX_LEN" ]; then + export TMUX_POWERLINE_SEG_PWD_MAX_LEN="${TMUX_POWERLINE_SEG_PWD_MAX_LEN_DEFAULT}" + fi +} + +run_segment() { + __process_settings + # Truncate from the left. + tcwd=$(get_tmux_cwd) + trunc_symbol="ยทยทยท" + dir=${tcwd##*/} + local max_len="$TMUX_POWERLINE_SEG_PWD_MAX_LEN" + max_len=$(( ( max_len < ${#dir} ) ? ${#dir} : max_len )) + ttcwd=${tcwd/#$HOME/\~} + pwdoffset=$(( ${#ttcwd} - max_len )) + if [ ${pwdoffset} -gt "0" ]; then + ttcwd=${ttcwd:$pwdoffset:$max_len} + ttcwd=${trunc_symbol}/${ttcwd#*/} + fi + echo "$ttcwd" + return 0 +} -- cgit v1.2.3