Merge pull request #281 from dylanaraps/usage

Fix CPU Usage
This commit is contained in:
Dylan Araps 2016-06-13 22:37:47 +10:00 committed by GitHub
commit 5e0c15a352
5 changed files with 86 additions and 57 deletions

6
1.8.md
View file

@ -76,6 +76,12 @@ block will be.
- [Cmus] The function now works on both OS X and Linux.
- [iTunes] Fix song not displaying. **[@iandrewt](https://github.com/iandrewt)**
**CPU Usage**<br \>
- Fixed broken CPU usage output on BSD and Windows
- Fixed misleading output on Linux / Mac OS X
- Moved CPU Usage to its own dedicated function
### Image

View file

@ -389,8 +389,6 @@ alias fetch2="fetch \
--underline_char char Character to use when underlining title
--line_wrap on/off Enable/Disable line wrapping
--bold on/off Enable/Disable bold text
--prompt_height num Set this to your prompt height to fix issues with
the text going off screen at the top
Color Blocks:
@ -407,15 +405,14 @@ alias fetch2="fetch \
--progress_length num Length in spaces to make the progress bars.
--progress_colors num num Colors to make the progress bar.
Set in this order: elapsed, total
--cpu_display mode1 mode2 Which shorthand to use and how CPU usage should be printed
mode1 takes: name, speed, tiny, on, off
mode2 takes: info, bar, infobar, barinfo
--memory_display mode Which way should the memory progress bar be added
Takes bar, infobar, barinfo
--battery_display mode Which way should the battery progress bar be added
Takes bar, infobar, barinfo
--disk_display mode Which way should the disk progress bar be added
Takes bar, infobar, barinfo, perc
--cpu_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
--memory_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
--battery_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
--disk_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
Image:

View file

@ -35,6 +35,7 @@ printinfo () {
info "GPU" gpu
info "Memory" memory
# info "CPU Usage" cpu_usage
# info "Disk" disk
# info "Battery" battery
# info "Font" font
@ -99,10 +100,14 @@ shell_version="off"
# scaling_current, scaling_min, scaling_max
speed_type="max"
# CPU Display
# Set shorthand setting and progress bar setting
# --cpu_display (name, speed, tiny, on, off) (bar, infobar, barinfo, off)
# CPU Shorthand
# Set shorthand setting
# --cpu_shorthand name, speed, tiny, on, off
cpu_shorthand="off"
# CPU Usage display
# Set CPU usage display setting
# --cpu_display bar, infobar, barinfo, off
cpu_display="off"
# CPU Cores

View file

@ -47,6 +47,7 @@ printinfo () {
info "GPU" gpu
info "Memory" memory
# info "CPU Usage" cpu_usage
# info "Disk" disk
# info "Battery" battery
# info "Font" font
@ -111,11 +112,10 @@ shell_version="off"
# scaling_current, scaling_min, scaling_max
speed_type="max"
# CPU Display
# Set shorthand setting and progress bar setting
# --cpu_display (name, speed, tiny, on, off) (bar, infobar, barinfo, off)
# CPU Shorthand
# Set shorthand setting
# --cpu_shorthand name, speed, tiny, on, off
cpu_shorthand="off"
cpu_display="off"
# CPU Cores
# Display CPU cores in output
@ -289,9 +289,11 @@ progress_color_total="distro"
# barinfo: The bar is displayed before the info.
# off: Only the info is displayed.
#
# --cpu_display bar/infobar/barinfo/off
# --memory_display bar/infobar/barinfo/off
# --battery_display bar/infobar/barinfo/off
# --disk_display bar/infobar/barinfo/off
cpu_display="off"
memory_display="off"
battery_display="off"
disk_display="off"
@ -1147,18 +1149,42 @@ getcpu () {
[ "$cpu" ] && prin "$subtitle" "$cpu"
if [ "$cpu_display" != "off" ]; then
cpu_usage="$(ps aux | awk 'BEGIN { sum = 0 } { sum += $3 }; END { print sum }')"
cpu_usage="${cpu_usage/\.*}%"
[ "$stdout_mode" != "on" ] && unset cpu
}
case "$cpu_display" in
"info") prin "$subtitle Usage" "$cpu_usage" ;;
"bar") prin "$subtitle Usage" "$(bar "${cpu_usage/'%'}" $(( 100 * cores )))" ;;
"infobar") prin "$subtitle Usage" "${cpu_usage} $(bar "${cpu_usage/'%'}" $(( 100 * cores )))" ;;
"barinfo") prin "$subtitle Usage" "$(bar "${cpu_usage/'%'}" $(( 100 * cores ))) $cpu_usage" ;;
# }}}
# CPU Usage {{{
getcpu_usage () {
case "$os" in
"Windows")
cpu_usage="$(wmic cpu get loadpercentage /value)"
cpu_usage="${cpu_usage/LoadPercentage'='}"
cpu_usage="${cpu_usage//[[:space:]]}"
;;
"Linux" | "Mac OS X" | "iPhone OS" | "BSD")
# Get cores if unset
if [ -z "$cores" ]; then
case "$os" in
"Linux") cores="$(awk -F ': ' '/siblings/ {printf $2; exit}' /proc/cpuinfo)" ;;
"Mac OS X" | "BSD") cores="$(sysctl -n hw.ncpu)" ;;
esac
fi
[ "$stdout_mode" != "on" ] && unset cpu
cpu_usage="$(ps aux | awk 'BEGIN {sum=0} {sum+=$3 }; END {print sum}')"
cpu_usage="$((${cpu_usage/\.*} / ${cores:-1}))"
;;
esac
# Print the bar
case "$cpu_display" in
"info") cpu_usage="${cpu_usage}%" ;;
"bar") cpu_usage="$(bar $cpu_usage 100)" ;;
"infobar") cpu_usage="${cpu_usage}% $(bar $cpu_usage 100)" ;;
"barinfo") cpu_usage="$(bar $cpu_usage 100) ${cpu_usage}%" ;;
esac
}
# }}}
@ -2512,6 +2538,7 @@ stdout () {
*)
"get$func" 2>/dev/null
eval output="\$$func"
output="$(trim "$output")"
stdout+="${output}${stdout_separator}"
;;
esac
@ -2977,15 +3004,14 @@ usage () { cat << EOF
--progress_length num Length in spaces to make the progress bars.
--progress_colors num num Colors to make the progress bar.
Set in this order: elapsed, total
--cpu_display mode1 mode2 Which shorthand to use and how CPU usage should be printed
mode1 takes: name, speed, tiny, on, off
mode2 takes: info, bar, infobar, barinfo
--memory_display mode Which way should the memory progress bar be added
Takes bar, infobar, barinfo
--battery_display mode Which way should the battery progress bar be added
Takes bar, infobar, barinfo
--disk_display mode Which way should the disk progress bar be added
Takes bar, infobar, barinfo, perc
--cpu_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
--memory_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
--battery_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
--disk_display mode Progress bar mode.
Takes: bar, infobar, barinfo, off
Image:
@ -3124,10 +3150,7 @@ while [ "$1" ]; do
progress_color_elapsed="$2"
progress_color_total="$3"
;;
--cpu_display)
cpu_shorthand="$2"
cpu_display="$3"
;;
--cpu_display) cpu_display="$2" ;;
--memory_display) memory_display="$2" ;;
--battery_display) battery_display="$2" ;;
--disk_display) disk_display="$2" ;;
@ -3205,7 +3228,7 @@ while [ "$1" ]; do
esac
;;
--test)
info=(title underline distro kernel uptime packages shell resolution de wm wmtheme theme icons cpu gpu memory font disk battery song localip publicip users birthday term termfont)
info=(title underline distro kernel uptime packages shell resolution de wm wmtheme theme icons cpu cpu_usage gpu memory font disk battery song localip publicip users birthday term termfont)
refresh_rate="on"
shell_version="on"

View file

@ -145,27 +145,25 @@ Colors to make the progress bar.
.br
Set in this order: elapsed, total
.TP
.B \--cpu_display 'mode1' 'mode2'
Which shorthand to use and how CPU usage should be printed
.B \--cpu_display 'mode'
Progress bar mode.
.br
mode1 takes: name, speed, tiny, on, off
.br
mode2 takes: info, bar, infobar, barinfo
Takes: bar, infobar, barinfo, off
.TP
.B \--memory_display 'mode'
Which way should the memory progress bar be added
Progress bar mode.
.br
Takes: bar, infobar, barinfo
Takes: bar, infobar, barinfo, off
.TP
.B \--battery_display 'mode'
Which way should the battery progress bar be added
Progress bar mode.
.br
Takes: bar, infobar, barinfo
Takes: bar, infobar, barinfo, off
.TP
.B \--disk_display mode
Which way should the disk progress bar be added
.B \--disk_display 'mode'
Progress bar mode.
.br
Takes: bar, infobar, barinfo, perc
Takes: bar, infobar, barinfo, off
.SH IMAGE
.TP