Merge pull request #216 from dylanaraps/cpu_rewrite

CPU / Distro / DE fixes.
This commit is contained in:
Dylan Araps 2016-04-05 00:50:00 +10:00
commit a48186b127

View file

@ -452,10 +452,6 @@ esac
# Distro {{{
# Default bit style
x64="x86_64"
x32="x86"
case "$os" in
"Linux" )
if type -p lsb_release >/dev/null 2>&1; then
@ -510,10 +506,6 @@ case "$os" in
distro=${distro//[[:space:]]/ }
distro=${distro// }
distro=${distro/Microsoft }
# Change bits to xx-bit for Windows
x64="64-bit"
x32="32-bit"
;;
esac
distro=${distro//+( )/ }
@ -521,12 +513,8 @@ ascii_distro="$distro"
getdistro () {
# Get architecture
if [ "$os_arch" == "on" ]; then
case "$(getconf LONG_BIT)" in
64) distro+=" $x64" ;;
32) distro+=" $x32" ;;
esac
fi
[ "$os_arch" == "on" ] && \
distro+=" $(uname -m)"
}
@ -781,8 +769,8 @@ getde () {
;;
esac
if [ -z "$de" ]; then
de="$(xprop -root | awk '/KDE_SESSION_VERSION|^_MARCO|^_MUFFIN|xfce4|xfce5/')"
if [ -n "$DISPLAY" ] && [ -z "$de" ]; then
de="$(xprop -root | awk '/KDE_SESSION_VERSION|^_MARCO|^_MUFFIN|xfce4|xfce5/' 2>/dev/null)"
case "$de" in
"KDE_SESSION_VERSION"*) de="KDE${de/* = }" ;;
@ -941,7 +929,29 @@ getwmtheme () {
getcpu () {
case "$os" in
"Linux")
"Mac OS X")
cpu="$(sysctl -n machdep.cpu.brand_string)"
cores=$(sysctl -n hw.ncpu)
;;
*)
case "$distro" in
"OpenBSD"* | "FreeBSD"*)
# Get cpu name
cpu="$(sysctl -n hw.model)"
cpu=${cpu/[0-9]\.*}
cpu=${cpu/ @*}
# Get cpu speed
case "$distro" in
"OpenBSD"*) speed=$(sysctl -n hw.cpuspeed) ;;
"FreeBSD"*) speed=$(sysctl -n hw.clockrate) ;;
esac
speed=$((speed / 100))
cores=$(sysctl -n hw.ncpu)
;;
*)
# Get cpu name
cpu="$(awk -F ': | @' '/model name/ {printf $2; exit}' /proc/cpuinfo)"
@ -965,56 +975,18 @@ getcpu () {
speed=$(awk -F ': |\\.' '/cpu MHz/ {printf $2; exit}' /proc/cpuinfo)
speed=$((speed / 100))
fi
speed=${speed:0:1}.${speed:1}
cpu="$cpu @ ${speed}GHz"
cores=$(awk -F ': ' '/siblings/ {printf $2; exit}' /proc/cpuinfo)
;;
"Mac OS X")
cpu="$(sysctl -n machdep.cpu.brand_string)"
cores=$(sysctl -n hw.ncpu)
;;
*"BSD" | "Windows")
case "$distro" in
"OpenBSD"* | "FreeBSD"*)
# Get cpu name
cpu="$(sysctl -n hw.model)"
cpu=${cpu/[0-9]\.*}
cpu=${cpu/ @*}
# Get cpu speed
case "$distro" in
"OpenBSD"*) speed=$(sysctl -n hw.cpuspeed) ;;
"FreeBSD"*) speed=$(sysctl -n hw.clockrate) ;;
esac
speed=$((speed / 100))
cores=$(sysctl -n hw.ncpu)
;;
"NetBSD"* | "Windows"*)
# Get cpu name
cpu="$(grep -F 'model name' /proc/cpuinfo)"
cpu=${cpu/model name*: }
cpu=${cpu/ @*}
cpu=${cpu// }
cpu=${cpu% }
# Get cpu speed
speed="$(grep -F 'cpu MHz' /proc/cpuinfo)"
speed=${speed/cpu MHz*: }
speed=${speed/\.}
case "$distro" in
"NetBSD"*) speed=$((speed / 10000)) ;;
"Windows"*) speed=$((speed / 100000)) ;;
esac
cores=$(awk -F ': ' '/siblings/ {printf $2; exit}' /proc/cpuinfo)
;;
esac
# Fix for speeds under 1ghz
if [ -z "${speed:1}" ]; then
speed="0.${speed}"
else
speed=${speed:0:1}.${speed:1}
fi
cpu="$cpu @ ${speed}GHz"
;;
esac