Merge pull request #773 from konimex/cpu

CPU: Various CPU changes
This commit is contained in:
Muhammad Herdiansyah 2017-07-14 14:18:27 +07:00
commit 03f85176df
4 changed files with 37 additions and 46 deletions

View file

@ -19,8 +19,10 @@
**CPU** **CPU**
- [Linux] Fixed inaccurate output on ARM SoC devices. - [Linux] Fixed inaccurate output on ARM SoC devices.
- [Linux] Fixed CPU speed not appearing on PowerPC systems.
- [NetBSD] Added support for CPU temperature. (NOTE: This only supports newer Intel processors) - [NetBSD] Added support for CPU temperature. (NOTE: This only supports newer Intel processors)
- Fixed inaccurate speed output in systems with CPU speed less than 1 GHz. - Fixed inaccurate speed output in systems with CPU speed less than 1 GHz.
- Deprecated `cpu_shorthand` in favor of `cpu_brand`.
**Uptime** **Uptime**

View file

@ -149,19 +149,16 @@ speed_type="bios_limit"
# off: 'i7-6500U (4) @ 3.100GHz' # off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="off" speed_shorthand="off"
# Shorten the output of the CPU function # Enable/Disable CPU brand in output.
# #
# Default: 'off' # Default: 'on'
# Values: 'on', 'off', 'tiny', 'name', 'speed' # Values: 'on', 'off'
# Flag: --cpu_shorthand # Flag: --cpu_brand
# #
# Example: # Example:
# on: 'i7-6500U (4) @ 3.1GHz' # on: 'Intel i7-6500U'
# off: 'Intel i7-6500U (4) @ 3.1GHz' # off: 'i7-6500U (4)'
# tiny: 'i7-6500U (4)' cpu_brand="on"
# name: 'Intel i7-6500U (4)'
# speed: '3.1GHz'
cpu_shorthand="off"
# CPU Speed # CPU Speed
# Hide/Show CPU speed. # Hide/Show CPU speed.

View file

@ -859,7 +859,8 @@ get_cpu() {
speed="$((speed / 1000))" speed="$((speed / 1000))"
else else
speed="$(awk -F ': |\\.' '/cpu MHz/ {printf $2; exit}' /proc/cpuinfo)" speed="$(awk -F ': |\\.' '/cpu MHz|^clock/ {printf $2; exit}' /proc/cpuinfo)"
speed="${speed/MHz}"
fi fi
# Get CPU temp. # Get CPU temp.
@ -1013,16 +1014,6 @@ get_cpu() {
;; ;;
esac esac
if [[ "$speed" ]]; then
if (( speed < 1000 )); then
cpu="$cpu @ ${speed}MHz $temp"
else
[[ "$speed_shorthand" == "on" ]] && speed="$((speed / 100))"
speed="${speed:0:1}.${speed:1}"
cpu="$cpu @ ${speed}GHz $temp"
fi
fi
# Remove un-needed patterns from cpu output. # Remove un-needed patterns from cpu output.
cpu="${cpu//(TM)}" cpu="${cpu//(TM)}"
cpu="${cpu//(tm)}" cpu="${cpu//(tm)}"
@ -1045,28 +1036,28 @@ get_cpu() {
# Trim spaces from core output # Trim spaces from core output
cores="${cores//[[:space:]]}" cores="${cores//[[:space:]]}"
# Remove CPU brand from the output.
if [[ "$cpu_brand" == "off" ]]; then
cpu="${cpu/AMD }"
cpu="${cpu/Intel }"
cpu="${cpu/Core? Duo }"
cpu="${cpu/Qualcomm }"
fi
# Add CPU cores to the output. # Add CPU cores to the output.
[[ "$cpu_cores" != "off" && "$cores" ]] && \ [[ "$cpu_cores" != "off" && "$cores" ]] && \
cpu="${cpu/@/(${cores}) @}" cpu="$cpu ($cores)"
# Remove CPU speed from the output. # Add CPU speed to the output.
[[ "$cpu_speed" == "off" ]] && \ if [[ "$cpu_speed" != "off" && "$speed" ]]; then
cpu="${cpu/@ *GHz}" if (( speed < 1000 )); then
cpu="$cpu @ ${speed}MHz $temp"
# Make the output of CPU shorter. else
case "$cpu_shorthand" in [[ "$speed_shorthand" == "on" ]] && speed="$((speed / 100))"
"name") cpu="${cpu/@*}" ;; speed="${speed:0:1}.${speed:1}"
"speed") cpu="${cpu#*@ }" ;; cpu="$cpu @ ${speed}GHz $temp"
fi
"on" | "tiny") fi
cpu="${cpu/AMD }"
cpu="${cpu/Intel }"
cpu="${cpu/Core? Duo }"
cpu="${cpu/Qualcomm }"
[[ "$cpu_shorthand" == "tiny" ]] && cpu="${cpu/@*}"
;;
esac
} }
get_cpu_usage() { get_cpu_usage() {
@ -3801,6 +3792,9 @@ old_options() {
# Scrot dir was removed in 3.1.0. # Scrot dir was removed in 3.1.0.
[[ -n "$scrot_dir" ]] && scrot_dir= [[ -n "$scrot_dir" ]] && scrot_dir=
# cpu_shorthand was deprecated in 3.3.0
[[ -n "$cpu_shorthand" ]] && { err "Config: \$cpu_shorthand is deprecated, use \$cpu_brand, \$cpu_cores, and \$cpu_speed instead."; }
} }
cache_uname() { cache_uname() {
@ -3954,8 +3948,7 @@ INFO:
NOTE: This flag is not supported in systems with CPU speed less than 1 GHz. NOTE: This flag is not supported in systems with CPU speed less than 1 GHz.
--cpu_shorthand type Shorten the output of CPU --cpu_brand on/off Enable/Disable CPU brand in output.
Possible values: name, speed, tiny, on, off
--cpu_cores type Whether or not to display the number of CPU cores --cpu_cores type Whether or not to display the number of CPU cores
Possible values: logical, physical, off Possible values: logical, physical, off
@ -4170,7 +4163,7 @@ get_args() {
"--distro_shorthand") distro_shorthand="$2" ;; "--distro_shorthand") distro_shorthand="$2" ;;
"--kernel_shorthand") kernel_shorthand="$2" ;; "--kernel_shorthand") kernel_shorthand="$2" ;;
"--uptime_shorthand") uptime_shorthand="$2" ;; "--uptime_shorthand") uptime_shorthand="$2" ;;
"--cpu_shorthand") cpu_shorthand="$2" ;; "--cpu_brand") cpu_brand="$2" ;;
"--gpu_brand") gpu_brand="$2" ;; "--gpu_brand") gpu_brand="$2" ;;
"--gpu_type") gpu_type="$2" ;; "--gpu_type") gpu_type="$2" ;;
"--refresh_rate") refresh_rate="$2" ;; "--refresh_rate") refresh_rate="$2" ;;

View file

@ -35,9 +35,8 @@ Whether or not to show decimals in CPU speed.
.IP .IP
NOTE: This flag is not supported in systems with CPU speed less than 1 GHz. NOTE: This flag is not supported in systems with CPU speed less than 1 GHz.
.TP .TP
\fB\-\-cpu_shorthand\fR type \fB\-\-cpu_brand\fR on/off
Shorten the output of CPU Enable/Disable CPU brand in output.
Possible values: name, speed, tiny, on, off
.TP .TP
\fB\-\-cpu_cores\fR type \fB\-\-cpu_cores\fR type
Whether or not to display the number of CPU cores Whether or not to display the number of CPU cores