mirror of
https://github.com/TECHNOFAB11/tmux2k.git
synced 2025-12-11 23:50:08 +01:00
feat: add current working directory feature (#20)
This commit is contained in:
parent
4646757c9e
commit
4692ae758e
2 changed files with 57 additions and 0 deletions
55
scripts/cwd.sh
Executable file
55
scripts/cwd.sh
Executable file
|
|
@ -0,0 +1,55 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# return current working directory of tmux pane
|
||||||
|
getPaneDir() {
|
||||||
|
nextone="false"
|
||||||
|
ret=""
|
||||||
|
for i in $(tmux list-panes -F "#{pane_active} #{pane_current_path}"); do
|
||||||
|
[ "$i" == "1" ] && nextone="true" && continue
|
||||||
|
[ "$i" == "0" ] && nextone="false"
|
||||||
|
[ "$nextone" == "true" ] && ret+="$i "
|
||||||
|
done
|
||||||
|
echo "${ret%?}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# truncate the path if it's longer than 30 characters
|
||||||
|
truncatePath() {
|
||||||
|
local path="$1"
|
||||||
|
local limit=30
|
||||||
|
|
||||||
|
if [ ${#path} -gt $limit ]; then
|
||||||
|
# Split the path into an array by '/'
|
||||||
|
IFS='/' read -r -a path_array <<< "$path"
|
||||||
|
truncated_path=""
|
||||||
|
|
||||||
|
for ((i=0; i<${#path_array[@]}-1; i++)); do
|
||||||
|
if [ ${#path_array[i]} -gt 1 ]; then
|
||||||
|
truncated_path+="${path_array[i]:0:1}/"
|
||||||
|
else
|
||||||
|
truncated_path+="${path_array[i]}/"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add the last component of the current directory path
|
||||||
|
truncated_path+="${path_array[-1]}"
|
||||||
|
|
||||||
|
echo "$truncated_path"
|
||||||
|
else
|
||||||
|
echo "$path"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
path=$(getPaneDir)
|
||||||
|
|
||||||
|
# change '/home/user' to '~'
|
||||||
|
cwd="${path/"$HOME"/'~'}"
|
||||||
|
|
||||||
|
# Truncate path if it's too long
|
||||||
|
truncated_cwd=$(truncatePath "$cwd")
|
||||||
|
|
||||||
|
echo "$truncated_cwd"
|
||||||
|
}
|
||||||
|
|
||||||
|
#run main driver program
|
||||||
|
main
|
||||||
|
|
@ -39,6 +39,7 @@ light_purple=$(get_tmux_option "@tmux2k-light-purple" '#ff65c6')
|
||||||
declare -A plugin_colors=(
|
declare -A plugin_colors=(
|
||||||
["git"]="green text"
|
["git"]="green text"
|
||||||
["cpu"]="blue text"
|
["cpu"]="blue text"
|
||||||
|
["cwd"]="purple text"
|
||||||
["ram"]="light_yellow text"
|
["ram"]="light_yellow text"
|
||||||
["gpu"]="yellow text"
|
["gpu"]="yellow text"
|
||||||
["battery"]="light_purple text"
|
["battery"]="light_purple text"
|
||||||
|
|
@ -155,6 +156,7 @@ set_theme() {
|
||||||
plugin_colors=(
|
plugin_colors=(
|
||||||
["git"]="text green"
|
["git"]="text green"
|
||||||
["cpu"]="text blue"
|
["cpu"]="text blue"
|
||||||
|
["cwd"]="text purple"
|
||||||
["ram"]="text light_yellow"
|
["ram"]="text light_yellow"
|
||||||
["gpu"]="text yellow"
|
["gpu"]="text yellow"
|
||||||
["battery"]="text light_purple"
|
["battery"]="text light_purple"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue