diff --git a/1.8.md b/1.8.md index d513d506..b65ad338 100644 --- a/1.8.md +++ b/1.8.md @@ -33,6 +33,7 @@ bottom of the window. See [#279](https://github.com/dylanaraps/neofetch/pull/279 ### OS - Added support for Devuan Linux. +- Added support for macOS Sierra. **[@iandrewt](https://github.com/iandrewt)** ### Terminal and Terminal Font @@ -76,6 +77,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**
+ +- 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 diff --git a/README.md b/README.md index bb14c43a..1b732d2c 100644 --- a/README.md +++ b/README.md @@ -173,15 +173,15 @@ https://github.com/dylanaraps/neofetch/wiki/Following-HEAD ### Gentoo / Funtoo 1. Add the 3rd party repo - - `layman -o https://gist.githubusercontent.com/z1lt0id/24d45b15800b98975260/raw/2fdf6645cdc3c1ca0b0af83a7bf8f86598e386ae/fs0ciety.xml -f -a fs0ciety` -2. Sync the repos - - `layman -S` -3. To enable w3m and scrot support, enable the appropriate flags. - - `echo "x11-apps/neofetch" >> /etc/portage/package.use` + - `# wget https://git.io/vocNV -O /etc/portage/repos.conf/konimex.conf` +2. Sync the repo + - `# emerge --sync konimex` +3. To enable additional features such as w3m and music support, enable the appropriate USE flags. For example: + - `# echo "app-misc/neofetch X -moc" >> /etc/portage/package.use` 4. Install the package - - `emerge -a x11-apps/neofetch` + - `# emerge -a app-misc/neofetch` -There is also a git version available: `emerge --autounmask-write =x11-apps/neofetch-9999` +To install the git version, just add `app-misc/neofetch ~` to `package.accept_keywords` ### CRUX @@ -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: diff --git a/config/config b/config/config index 19dd34bb..6a491572 100644 --- a/config/config +++ b/config/config @@ -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 diff --git a/neofetch b/neofetch index d5779f2e..39183e53 100755 --- a/neofetch +++ b/neofetch @@ -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" @@ -481,6 +483,7 @@ getdistro () { "10.9") codename="OS X Mavericks" ;; "10.10") codename="OS X Yosemite" ;; "10.11") codename="OS X El Capitan" ;; + "10.12") codename="macOS Sierra" ;; *) codename="Mac OS X" ;; esac distro="$codename $osx_version $osx_build" @@ -1147,22 +1150,46 @@ 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/\.*}%" - - 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" ;; - esac - fi [ "$stdout_mode" != "on" ] && unset cpu } # }}} +# 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 + + 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 +} + +# }}} + # GPU {{{ getgpu () { @@ -2512,6 +2539,7 @@ stdout () { *) "get$func" 2>/dev/null eval output="\$$func" + output="$(trim "$output")" stdout+="${output}${stdout_separator}" ;; esac @@ -2977,15 +3005,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 +3151,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 +3229,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" diff --git a/neofetch.1 b/neofetch.1 index 51f273a0..cb4e0b17 100644 --- a/neofetch.1 +++ b/neofetch.1 @@ -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 +.B \--memory_display 'mode' +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 +.B \--battery_display 'mode' +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