From b10c4dcf18360e4e77f53494d0404cdb8a0d20ae Mon Sep 17 00:00:00 2001 From: Ethan Edwards Date: Mon, 1 Jun 2020 02:10:10 -0400 Subject: [PATCH] Added cpu percentage, works on powerline and normal, will add memory later :) --- INSTALL.md | 1 + scripts/cpu_info.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++ scripts/dracula.sh | 14 ++++++++++++ 3 files changed, 68 insertions(+) create mode 100755 scripts/cpu_info.sh diff --git a/INSTALL.md b/INSTALL.md index aa4fdd3..3dd0106 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -24,3 +24,4 @@ Customize the status bar by adding any of these lines to your .tmux.conf as desi * Enable military time: `set -g @dracula-military-time true` * Switch the left smiley icon `set -g @dracula-show-left-icon session` it can accept `session`, `smiley`, `window`, or any character. * Enable high contrast pane border: `set -g @dracula-border-contrast true` +* Enable cpu percentage: `set -g @dracula-cpu-percent true` diff --git a/scripts/cpu_info.sh b/scripts/cpu_info.sh new file mode 100755 index 0000000..861f754 --- /dev/null +++ b/scripts/cpu_info.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +get_percent() +{ + arg=$1 + case "$arg" in + Linux) + percent=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}') + echo $percent + ;; + + Mac) + # TODO - Mac compatability + ;; + + Windows) + # TODO - windows compatability + ;; + esac +} +check_os() +{ + # Check os + case $(uname -s) in + Linux) + get_percent Linux + ;; + + Darwin) + # Dont have a mac currently, TODO - Mac compatability + get_percent Mac + ;; + + CYGWIN*|MINGW32*|MSYS*|MINGW*) + get_percent Windows + # leaving empty - TODO - windows compatability + ;; + + *) + ;; + esac +} + + + +main() +{ + cpu_percent=$(check_os) + echo "CPU $cpu_percent" + sleep 5 +} +#run main driver +main diff --git a/scripts/dracula.sh b/scripts/dracula.sh index 5cd2155..27a5d2a 100755 --- a/scripts/dracula.sh +++ b/scripts/dracula.sh @@ -27,6 +27,7 @@ main() show_left_sep=$(get_tmux_option "@dracula-show-left-sep" ) show_right_sep=$(get_tmux_option "@dracula-show-right-sep" ) show_border_contrast=$(get_tmux_option "@dracula-border-contrast" false) + show_cpu_percentage=$(get_tmux_option "@dracula-cpu-percent" false) # Dracula Color Pallette white='#f8f8f2' @@ -64,6 +65,10 @@ main() if $show_weather; then $current_dir/sleep_weather.sh $show_fahrenheit & fi + + if $show_cpu_percentage; then + $current_dir/cpu_info.sh & + fi # sets refresh interval to every 5 seconds @@ -98,6 +103,11 @@ main() tmux set-option -g status-right "" powerbg=${gray} + if $show_cpu_percentage; then + tmux set-option -ga status-right "#[fg=${pink},bg=${powerbg},nobold,nounderscore,noitalics] ${right_sep}#[fg=${dark_gray},bg=${pink}] #($current_dir/cpu_info.sh)" + powerbg=${pink} + fi + if $show_battery; then # battery tmux set-option -g status-right "#[fg=${pink},bg=${powerbg},nobold,nounderscore,noitalics] ${right_sep}#[fg=${dark_gray},bg=${pink}] #($current_dir/battery.sh)" powerbg=${pink} @@ -131,6 +141,10 @@ main() tmux set-option -g status-right "#[fg=${dark_gray},bg=${pink}] #($current_dir/battery.sh) " fi + if $show_cpu_percentage; then + tmux set-option -ga status-right "#[fg=${dark_gray},bg=${orange}]#($current_dir/cpu_info.sh) " + fi + if $show_network; then # network tmux set-option -ga status-right "#[fg=${dark_gray},bg=${cyan}] #($current_dir/network.sh) " fi