Marty Oehme
9781b26b22
Terminal application, a variety of shell configurations, terminal file and session management all consolidated in one place.
20 lines
778 B
Bash
Executable file
20 lines
778 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# create a tree-style view
|
|
# of all open tmux panes
|
|
# and the command they are currently running
|
|
|
|
tmux ls -F'#{session_id}' | while read -r s; do
|
|
S=$(tmux ls -F'#{session_id}#{session_name}: #{T:tree_mode_format}' | grep ^"$s")
|
|
session_info=${S##$s}
|
|
session_name=$(echo "$session_info" | cut -d ':' -f 1)
|
|
if [[ -n "$1" ]] && [[ "$1" == "$session_name" ]]; then
|
|
echo -e "\033[1;34m$session_info\033[0m"
|
|
tmux lsw -t"$s" -F'#{window_id}' | while read -r w; do
|
|
W=$(tmux lsw -t"$s" -F'#{window_id}#{T:tree_mode_format} - #{pane_current_command}' | grep ^"$w")
|
|
H=$(tmux lsw -t"$s" -F'#{window_id}#H' | grep ^"$w")
|
|
echo " ${W##$w}" | sed "s/\"${H##$w}\" //"
|
|
done
|
|
else
|
|
echo -e "\033[1m$session_info\033[0m"
|
|
fi
|
|
done
|