Merge pull request #161 from aaronkollasch/attached-clients
Show the number of attached clients
This commit is contained in:
commit
872c128e93
3 changed files with 56 additions and 1 deletions
18
INSTALL.md
18
INSTALL.md
|
@ -48,7 +48,7 @@ To enable plugins set up the `@dracula-plugins` option in you `.tmux.conf` file,
|
|||
The order that you define the plugins will be the order on the status bar left to right.
|
||||
|
||||
```bash
|
||||
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, network, network-bandwidth, network-ping, weather, time
|
||||
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, network, network-bandwidth, network-ping, attached-clients, weather, time
|
||||
set -g @dracula-plugins "cpu-usage gpu-usage ram-usage"
|
||||
```
|
||||
|
||||
|
@ -278,3 +278,19 @@ set -g @dracula-show-weather false
|
|||
# set -g @dracula-show-powerline true
|
||||
# set -g @dracula-show-weather false
|
||||
```
|
||||
|
||||
|
||||
#### attached-clients options
|
||||
|
||||
Set the minimum number of clients to show (otherwise, show nothing)
|
||||
|
||||
```bash
|
||||
set -g @dracula-clients-minimum 1
|
||||
```
|
||||
|
||||
Set the label when there is one client, or more than one client
|
||||
|
||||
```bash
|
||||
set -g @dracula-clients-singular client
|
||||
set -g @dracula-clients-plural clients
|
||||
```
|
||||
|
|
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,10 @@ main()
|
|||
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-network-ping-colors" "cyan dark_gray")
|
||||
script="#($current_dir/network_ping.sh)"
|
||||
|
||||
elif [ $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)"
|
||||
|
||||
elif [ $plugin = "spotify-tui" ]; then
|
||||
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-spotify-tui-colors" "green dark_gray")
|
||||
script="#($current_dir/spotify-tui.sh)"
|
||||
|
|
Loading…
Reference in a new issue