Merge branch 'master' into master

This commit is contained in:
Ethan Edwards 2023-09-25 13:30:27 -04:00 committed by GitHub
commit 59e4fe7dbe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 1106 additions and 171 deletions

View file

@ -7,9 +7,12 @@ source $current_dir/utils.sh
main()
{
datafile=/tmp/.dracula-tmux-data
# set configuration option variables
show_kubernetes_context_label=$(get_tmux_option "@dracula-kubernetes-context-label" "")
eks_hide_arn=$(get_tmux_option "@dracula-kubernetes-eks-hide-arn" false)
eks_extract_account=$(get_tmux_option "@dracula-kubernetes-eks-extract-account" false)
hide_kubernetes_user=$(get_tmux_option "@dracula-kubernetes-hide-user" false)
terraform_label=$(get_tmux_option "@dracula-terraform-label" "")
show_fahrenheit=$(get_tmux_option "@dracula-show-fahrenheit" true)
show_location=$(get_tmux_option "@dracula-show-location" true)
fixed_location=$(get_tmux_option "@dracula-fixed-location")
@ -25,8 +28,10 @@ main()
show_border_contrast=$(get_tmux_option "@dracula-border-contrast" false)
show_day_month=$(get_tmux_option "@dracula-day-month" false)
show_refresh=$(get_tmux_option "@dracula-refresh-rate" 5)
show_kubernetes_context_label=$(get_tmux_option "@dracula-kubernetes-context-label" "")
show_synchronize_panes_label=$(get_tmux_option "@dracula-synchronize-panes-label" "Sync")
time_format=$(get_tmux_option "@dracula-time-format" "")
IFS=' ' read -r -a plugins <<< $(get_tmux_option "@dracula-plugins" "battery network weather")
show_empty_plugins=$(get_tmux_option "@dracula-show-empty-plugins" true)
# Dracula Color Pallette
white='#f8f8f2'
@ -66,11 +71,6 @@ main()
left_sep="$show_left_sep"
fi
# start weather script in background
if [[ "${plugins[@]}" =~ "weather" ]]; then
$current_dir/sleep_weather.sh $show_fahrenheit $show_location $fixed_location &
fi
# Set timezone unless hidden by configuration
if [[ -z "$timezone" ]]; then
case $show_timezone in
@ -131,93 +131,141 @@ main()
for plugin in "${plugins[@]}"; do
if [ $plugin = "fossil" ]; then
if case $plugin in custom:*) true;; *) false;; esac; then
script=${plugin#"custom:"}
if [[ -x "${current_dir}/${script}" ]]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-custom-plugin-colors" "cyan dark_gray")
script="#($current_dir/${script})"
else
colors[0]="red"
colors[1]="dark_gray"
script="${script} not found!"
fi
elif [ $plugin = "cwd" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-cwd-colors" "dark_gray white")
tmux set-option -g status-right-length 250
script="#($current_dir/cwd.sh)"
elif [ $plugin = "fossil" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-fossil-colors" "green dark_gray")
tmux set-option -g status-right-length 250
script="#($current_dir/fossil.sh)"
fi
if [ $plugin = "git" ]; then
elif [ $plugin = "git" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-git-colors" "green dark_gray")
tmux set-option -g status-right-length 250
script="#($current_dir/git.sh)"
fi
if [ $plugin = "battery" ]; then
elif [ $plugin = "hg" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-hg-colors" "green dark_gray")
tmux set-option -g status-right-length 250
script="#($current_dir/hg.sh)"
elif [ $plugin = "battery" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-battery-colors" "pink dark_gray")
script="#($current_dir/battery.sh)"
fi
if [ $plugin = "gpu-usage" ]; then
elif [ $plugin = "gpu-usage" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-gpu-usage-colors" "pink dark_gray")
script="#($current_dir/gpu_usage.sh)"
fi
if [ $plugin = "cpu-usage" ]; then
elif [ $plugin = "gpu-ram-usage" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-gpu-ram-usage-colors" "cyan dark_gray")
script="#($current_dir/gpu_ram_info.sh)"
elif [ $plugin = "gpu-power-draw" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-gpu-power-draw-colors" "green dark_gray")
script="#($current_dir/gpu_power.sh)"
elif [ $plugin = "cpu-usage" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-cpu-usage-colors" "orange dark_gray")
script="#($current_dir/cpu_info.sh)"
fi
if [ $plugin = "ram-usage" ]; then
elif [ $plugin = "ram-usage" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-ram-usage-colors" "cyan dark_gray")
script="#($current_dir/ram_info.sh)"
fi
if [ $plugin = "network" ]; then
elif [ $plugin = "tmux-ram-usage" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-tmux-ram-usage-colors" "cyan dark_gray")
script="#($current_dir/tmux_ram_info.sh)"
elif [ $plugin = "network" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-network-colors" "cyan dark_gray")
script="#($current_dir/network.sh)"
fi
if [ $plugin = "network-bandwidth" ]; then
elif [ $plugin = "network-bandwidth" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-network-bandwidth-colors" "cyan dark_gray")
tmux set-option -g status-right-length 250
script="#($current_dir/network_bandwidth.sh)"
fi
if [ $plugin = "network-ping" ]; then
elif [ $plugin = "network-ping" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-network-ping-colors" "cyan dark_gray")
script="#($current_dir/network_ping.sh)"
fi
if [ $plugin = "spotify-tui" ]; then
elif [ $plugin = "network-vpn" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-network-vpn-colors" "cyan dark_gray")
script="#($current_dir/network_vpn.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)"
fi
if [ $plugin = "kubernetes-context" ]; then
elif [ $plugin = "kubernetes-context" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-kubernetes-context-colors" "cyan dark_gray")
script="#($current_dir/kubernetes_context.sh $show_kubernetes_context_label)"
fi
script="#($current_dir/kubernetes_context.sh $eks_hide_arn $eks_extract_account $hide_kubernetes_user $show_kubernetes_context_label)"
if [ $plugin = "weather" ]; then
# wait unit $datafile exists just to avoid errors
# this should almost never need to wait unless something unexpected occurs
while [ ! -f $datafile ]; do
sleep 0.01
done
elif [ $plugin = "terraform" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-terraform-colors" "light_purple dark_gray")
script="#($current_dir/terraform.sh $terraform_label)"
elif [ $plugin = "continuum" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-continuum-colors" "cyan dark_gray")
script="#($current_dir/continuum.sh)"
elif [ $plugin = "weather" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-weather-colors" "orange dark_gray")
script="#(cat $datafile)"
fi
script="#($current_dir/weather_wrapper.sh $show_fahrenheit $show_location $fixed_location)"
if [ $plugin = "time" ]; then
elif [ $plugin = "time" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-time-colors" "dark_purple white")
if $show_day_month && $show_military ; then # military time and dd/mm
script="#(TZ=${timezone} date +'%%a %%d/%%m %%R') ${timezone} "
elif $show_military; then # only military time
script="#(TZ=${timezone} date +'%%a %%m/%%d %%R') ${timezone} "
elif $show_day_month; then # only dd/mm
script="#(TZ=${timezone} date +'%%a %%d/%%m %%I:%%M %%p') ${timezone} "
if [ -n "$time_format" ]; then
script=${time_format}
else
script="#(TZ=${timezone} date +'%%a %%m/%%d %%I:%%M %%p') ${timezone} "
if $show_day_month && $show_military ; then # military time and dd/mm
script="%a %d/%m %R ${timezone} "
elif $show_military; then # only military time
script="%a %m/%d %R ${timezone} "
elif $show_day_month; then # only dd/mm
script="%a %d/%m %I:%M %p ${timezone} "
else
script="%a %m/%d %I:%M %p ${timezone} "
fi
fi
elif [ $plugin = "synchronize-panes" ]; then
IFS=' ' read -r -a colors <<< $(get_tmux_option "@dracula-synchronize-panes-colors" "cyan dark_gray")
script="#($current_dir/synchronize_panes.sh $show_synchronize_panes_label)"
else
continue
fi
if $show_powerline; then
tmux set-option -ga status-right "#[fg=${!colors[0]},bg=${powerbg},nobold,nounderscore,noitalics]${right_sep}#[fg=${!colors[1]},bg=${!colors[0]}] $script "
if $show_empty_plugins; then
tmux set-option -ga status-right "#[fg=${!colors[0]},bg=${powerbg},nobold,nounderscore,noitalics]${right_sep}#[fg=${!colors[1]},bg=${!colors[0]}] $script "
else
tmux set-option -ga status-right "#{?#{==:$script,},,#[fg=${!colors[0]},nobold,nounderscore,noitalics]${right_sep}#[fg=${!colors[1]},bg=${!colors[0]}] $script }"
fi
powerbg=${!colors[0]}
else
tmux set-option -ga status-right "#[fg=${!colors[1]},bg=${!colors[0]}] $script "
if $show_empty_plugins; then
tmux set-option -ga status-right "#[fg=${!colors[1]},bg=${!colors[0]}] $script "
else
tmux set-option -ga status-right "#{?#{==:$script,},,#[fg=${!colors[1]},bg=${!colors[0]}] $script }"
fi
fi
done