Add attached-clients plugin
This commit is contained in:
parent
5b282b043f
commit
3e75296b73
2 changed files with 40 additions and 0 deletions
35
scripts/attached_clients.sh
Executable file
35
scripts/attached_clients.sh
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env bash
|
||||
# setting the locale, some users have issues with different locales, this forces the correct one
|
||||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
# configuration
|
||||
# @dracula-clients-minimum 1
|
||||
# @dracula-clients-singular client
|
||||
# @dracula-clients-plural clients
|
||||
|
||||
current_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source $current_dir/utils.sh
|
||||
|
||||
count_clients() {
|
||||
pane=$(tmux list-panes -F "#{session_name}" | head -n 1)
|
||||
tmux list-clients -t $pane | wc -l | tr -d ' '
|
||||
}
|
||||
|
||||
main() {
|
||||
# storing the refresh rate in the variable RATE, default is 5
|
||||
RATE=$(get_tmux_option "@dracula-refresh-rate" 5)
|
||||
clients_count=$(count_clients)
|
||||
clients_minimum=$(get_tmux_option "@dracula-clients-minimum" 1)
|
||||
if (( $clients_count >= $clients_minimum )); then
|
||||
if (( $clients_count > 1 )); then
|
||||
clients_label=$(get_tmux_option "@dracula-clients-plural" "clients")
|
||||
else
|
||||
clients_label=$(get_tmux_option "@dracula-clients-singular" "client")
|
||||
fi
|
||||
echo "$clients_count $clients_label"
|
||||
fi
|
||||
sleep $RATE
|
||||
}
|
||||
|
||||
# run main driver
|
||||
main
|
|
@ -168,6 +168,11 @@ main()
|
|||
script="#($current_dir/network_ping.sh)"
|
||||
fi
|
||||
|
||||
if [ $plugin = "attached-clients" ]; then
|
||||
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-attached-clients-colors" "cyan dark_gray")
|
||||
script="#($current_dir/attached_clients.sh)"
|
||||
fi
|
||||
|
||||
if [ $plugin = "weather" ]; then
|
||||
# wait unit $datafile exists just to avoid errors
|
||||
# this should almost never need to wait unless something unexpected occurs
|
||||
|
|
Loading…
Reference in a new issue