mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 08:57:57 +00:00
branch one, testing two new wm, spectrwm and herbstluftwm
This commit is contained in:
parent
2cee66e89a
commit
d72ae97a7e
66
inxi
66
inxi
|
@ -1,8 +1,8 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### Version: 1.9.9
|
#### Version: 1.9.11
|
||||||
#### Date: June 16 2013
|
#### Date: July 2 2013
|
||||||
#### Patch Number: 01-b1
|
#### Patch Number: 01-b1
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
|
@ -2453,7 +2453,7 @@ show_options()
|
||||||
print_screen_output "-C Full CPU output, including per CPU clockspeed (if available)."
|
print_screen_output "-C Full CPU output, including per CPU clockspeed (if available)."
|
||||||
print_screen_output "-d Optical drive data. Same as -Dd. See also -x and -xx."
|
print_screen_output "-d Optical drive data. Same as -Dd. See also -x and -xx."
|
||||||
print_screen_output "-D Full hard Disk info, not only model, ie: /dev/sda ST380817AS 80.0GB. See also -x and -xx."
|
print_screen_output "-D Full hard Disk info, not only model, ie: /dev/sda ST380817AS 80.0GB. See also -x and -xx."
|
||||||
print_screen_output "-f All cpu flags, triggers -C. Not shown with -F to avoid spamming."
|
print_screen_output "-f All cpu flags, triggers -C. Not shown with -F to avoid spamming. ARM cpus show 'features'."
|
||||||
print_screen_output "-F Full output for $SCRIPT_NAME. Includes all Upper Case line letters, plus -s and -n."
|
print_screen_output "-F Full output for $SCRIPT_NAME. Includes all Upper Case line letters, plus -s and -n."
|
||||||
print_screen_output " Does not show extra verbose options like -x -d -f -u -l -o -p -t -r"
|
print_screen_output " Does not show extra verbose options like -x -d -f -u -l -o -p -t -r"
|
||||||
print_screen_output "-G Graphic card information (card, x type, resolution, glx renderer, version)."
|
print_screen_output "-G Graphic card information (card, x type, resolution, glx renderer, version)."
|
||||||
|
@ -3429,6 +3429,9 @@ get_cpu_data()
|
||||||
gsub(/^ +| +$/, "", $NF)
|
gsub(/^ +| +$/, "", $NF)
|
||||||
gsub(/ [ \t]+/, " ", $NF)
|
gsub(/ [ \t]+/, " ", $NF)
|
||||||
cpu[nr, "model"] = $NF
|
cpu[nr, "model"] = $NF
|
||||||
|
if ( $NF ~ "^ARM" ) {
|
||||||
|
bArm = "true"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/^cpu MHz|^clock\t+:/ {
|
/^cpu MHz|^clock\t+:/ {
|
||||||
|
@ -3455,6 +3458,10 @@ get_cpu_data()
|
||||||
|
|
||||||
/^flags|^features/ {
|
/^flags|^features/ {
|
||||||
cpu[nr, "flags"] = $NF
|
cpu[nr, "flags"] = $NF
|
||||||
|
# not all ARM cpus show ARM in model name
|
||||||
|
if ( $1 ~ /^features/ ) {
|
||||||
|
bArm = "true"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/^bogomips/ {
|
/^bogomips/ {
|
||||||
|
@ -3475,7 +3482,7 @@ get_cpu_data()
|
||||||
if ( cpu[i, "bogomips"] != "" && cpu[i, "speed"] == "" ) {
|
if ( cpu[i, "bogomips"] != "" && cpu[i, "speed"] == "" ) {
|
||||||
cpu[i, "speed"] = cpu[i, "bogomips"]
|
cpu[i, "speed"] = cpu[i, "bogomips"]
|
||||||
}
|
}
|
||||||
print cpu[i, "model"] "," cpu[i, "speed"] "," cpu[i, "cache"] "," cpu[i, "flags"] "," cpu[i, "bogomips"] "," cpu[nr, "vendor"]
|
print cpu[i, "model"] "," cpu[i, "speed"] "," cpu[i, "cache"] "," cpu[i, "flags"] "," cpu[i, "bogomips"] "," cpu[nr, "vendor"] "," bArm
|
||||||
}
|
}
|
||||||
# this is / was used in inxi short output only, but when it is N/A, need to use the previous array
|
# this is / was used in inxi short output only, but when it is N/A, need to use the previous array
|
||||||
# value, from above, the actual speed that is, for short output, key 0.
|
# value, from above, the actual speed that is, for short output, key 0.
|
||||||
|
@ -3639,16 +3646,19 @@ get_cpu_ht_multicore_smp_data()
|
||||||
gsub(/^ +| +$/, "", $NF)
|
gsub(/^ +| +$/, "", $NF)
|
||||||
if ( $NF ~ "^[0-9]+$" ) {
|
if ( $NF ~ "^[0-9]+$" ) {
|
||||||
a_processor_id[proc_iter] = $NF
|
a_processor_id[proc_iter] = $NF
|
||||||
|
proc_iter++
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
# note, for dual core, this can be off by one because the first
|
||||||
|
# line says: Processor : Arm.. but subsequent say: processor : 0 and so on as usual
|
||||||
if ( $NF ~ "^ARM" ) {
|
if ( $NF ~ "^ARM" ) {
|
||||||
bArm = "true"
|
bArm = "true"
|
||||||
}
|
}
|
||||||
arm_count += 1
|
arm_count += 1
|
||||||
nr = arm_count - 1
|
nr = arm_count - 1
|
||||||
|
# note: do not iterate because new ARM syntax puts cpu in processsor : 0 syntax
|
||||||
a_processor_id[proc_iter] = nr
|
a_processor_id[proc_iter] = nr
|
||||||
}
|
}
|
||||||
proc_iter++
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# array of physical cpu ids, note, this will be unset for vm cpus in many cases
|
# array of physical cpu ids, note, this will be unset for vm cpus in many cases
|
||||||
|
@ -3685,6 +3695,7 @@ get_cpu_ht_multicore_smp_data()
|
||||||
for ( i in a_physical_id ) {
|
for ( i in a_physical_id ) {
|
||||||
num_of_physical_cpus++
|
num_of_physical_cpus++
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 0
|
i = 0
|
||||||
## count unique cores ##
|
## count unique cores ##
|
||||||
for ( i in a_core_id ) {
|
for ( i in a_core_id ) {
|
||||||
|
@ -3705,6 +3716,10 @@ get_cpu_ht_multicore_smp_data()
|
||||||
if ( num_of_cores == 0 && num_of_processors > 0 ) {
|
if ( num_of_cores == 0 && num_of_processors > 0 ) {
|
||||||
num_of_cores = num_of_processors
|
num_of_cores = num_of_processors
|
||||||
}
|
}
|
||||||
|
# ARM/vm cpu fix, if no physical or core found, use count of 1 instead
|
||||||
|
if ( num_of_physical_cpus == 0 ) {
|
||||||
|
num_of_physical_cpus = 1
|
||||||
|
}
|
||||||
# print "NoCpu: " num_of_physical_cpus
|
# print "NoCpu: " num_of_physical_cpus
|
||||||
# print "NoCores: " num_of_cores
|
# print "NoCores: " num_of_cores
|
||||||
# print "NoProc:" num_of_processors
|
# print "NoProc:" num_of_processors
|
||||||
|
@ -3921,6 +3936,12 @@ get_desktop_environment()
|
||||||
version="$version "
|
version="$version "
|
||||||
fi
|
fi
|
||||||
desktop_environment="WM2"
|
desktop_environment="WM2"
|
||||||
|
elif [[ -n $( grep -is 'herbstluftwm' <<< "$xprop_root" ) ]];then
|
||||||
|
version=$( get_de_app_version 'herbstluftwm' '^herbstluftwm' 'NF' )
|
||||||
|
if [[ -n $version ]];then
|
||||||
|
version="$version "
|
||||||
|
fi
|
||||||
|
desktop_environment="herbstluftwm"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# a few manual hacks for things that don't id with xprop, these are just good guesses
|
# a few manual hacks for things that don't id with xprop, these are just good guesses
|
||||||
|
@ -3941,6 +3962,9 @@ get_desktop_environment()
|
||||||
elif [[ -n $( grep -is 'scrotwm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
elif [[ -n $( grep -is 'scrotwm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
||||||
version=$( get_de_app_version 'scrotwm' '^welcome.*scrotwm' '4' )
|
version=$( get_de_app_version 'scrotwm' '^welcome.*scrotwm' '4' )
|
||||||
desktop_environment='Scrotwm' # no --version for this one
|
desktop_environment='Scrotwm' # no --version for this one
|
||||||
|
elif [[ -n $( grep -is 'spectrwm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
||||||
|
version=$( get_de_app_version 'spectrwm' '^spectrwm.*welcome.*spectrwm' '5' )
|
||||||
|
desktop_environment='Spectrwm' # no --version for this one
|
||||||
elif [[ -n $( grep -Eis '([[:space:]]|/)twm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
elif [[ -n $( grep -Eis '([[:space:]]|/)twm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
||||||
desktop_environment='Twm' # no --version for this one
|
desktop_environment='Twm' # no --version for this one
|
||||||
elif [[ -n $( grep -Eis '([[:space:]]|/)dwm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
elif [[ -n $( grep -Eis '([[:space:]]|/)dwm' <<< "$Ps_aux_Data" | grep -v 'grep' ) ]];then
|
||||||
|
@ -3981,7 +4005,7 @@ get_de_app_version()
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
# note, some wm/apps send version info to stderr instead of stdout
|
# note, some wm/apps send version info to stderr instead of stdout
|
||||||
dwm|ksh|scrotwm)
|
dwm|ksh|scrotwm|spectrwm)
|
||||||
version_data="$( $1 $get_version 2>&1 )"
|
version_data="$( $1 $get_version 2>&1 )"
|
||||||
;;
|
;;
|
||||||
csh)
|
csh)
|
||||||
|
@ -8761,7 +8785,7 @@ print_cpu_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local cpu_data='' i='' cpu_clock_speed='' cpu_multi_clock_data=''
|
local cpu_data='' i='' cpu_clock_speed='' cpu_multi_clock_data=''
|
||||||
local bmip_data='' cpu_cache='' cpu_vendor='' cpu_flags=''
|
local bmip_data='' cpu_cache='' cpu_vendor='' cpu_flags='' flag_feature='flags'
|
||||||
local a_cpu_working='' cpu_model='' cpu_clock='' cpu_null_error=''
|
local a_cpu_working='' cpu_model='' cpu_clock='' cpu_null_error=''
|
||||||
local cpc_plural='' cpu_count_print='' model_plural='' cpu_data_string=''
|
local cpc_plural='' cpu_count_print='' model_plural='' cpu_data_string=''
|
||||||
local cpu_physical_count='' cpu_core_count='' cpu_core_alpha='' cpu_type=''
|
local cpu_physical_count='' cpu_core_count='' cpu_core_alpha='' cpu_type=''
|
||||||
|
@ -8810,6 +8834,8 @@ print_cpu_data()
|
||||||
# update for multicore, bogomips x core count.
|
# update for multicore, bogomips x core count.
|
||||||
if [[ $B_EXTRA_DATA == 'true' ]];then
|
if [[ $B_EXTRA_DATA == 'true' ]];then
|
||||||
# if [[ $cpu_vendor != 'intel' ]];then
|
# if [[ $cpu_vendor != 'intel' ]];then
|
||||||
|
# ARM may use the faked 1 cpucorecount to make this work
|
||||||
|
# echo $cpu_core_count $cpu_physical_count
|
||||||
if [[ -n ${a_cpu_working[4]} ]];then
|
if [[ -n ${a_cpu_working[4]} ]];then
|
||||||
bmip_data=$( calculate_multicore_data "${a_cpu_working[4]}" "$(( $cpu_core_count * $cpu_physical_count ))" )
|
bmip_data=$( calculate_multicore_data "${a_cpu_working[4]}" "$(( $cpu_core_count * $cpu_physical_count ))" )
|
||||||
fi
|
fi
|
||||||
|
@ -8837,11 +8863,19 @@ print_cpu_data()
|
||||||
# only print shortened list
|
# only print shortened list
|
||||||
if [[ $B_CPU_FLAGS_FULL != 'true' ]];then
|
if [[ $B_CPU_FLAGS_FULL != 'true' ]];then
|
||||||
# gawk has already sorted this output, no flags returns -
|
# gawk has already sorted this output, no flags returns -
|
||||||
cpu_flags=$( process_cpu_flags "${a_cpu_working[3]}" )
|
cpu_flags=$( process_cpu_flags "${a_cpu_working[3]}" "${a_cpu_working[6]}" )
|
||||||
cpu_flags="($cpu_flags)"
|
cpu_flags="($cpu_flags)"
|
||||||
cpu_flags=" ${C1}flags$SEP3${C2} $cpu_flags"
|
if [[ ${a_cpu_working[6]} == 'true' ]];then
|
||||||
|
flag_feature='features'
|
||||||
|
fi
|
||||||
|
cpu_flags=" ${C1}$flag_feature$SEP3${C2} $cpu_flags"
|
||||||
|
fi
|
||||||
|
# arm cpus do not have flags or cache
|
||||||
|
if [[ ${a_cpu_working[6]} != 'true' ]];then
|
||||||
|
cpu_data="$cpu_data${C2} ${C1}cache$SEP3${C2} $cpu_cache$cpu_flags$bmip_data${CN}"
|
||||||
|
else
|
||||||
|
cpu_data="$cpu_data${C2} (ARM)$bmip_data${CN}"
|
||||||
fi
|
fi
|
||||||
cpu_data="$cpu_data${C2} ${C1}cache$SEP3${C2} $cpu_cache$cpu_flags$bmip_data${CN}"
|
|
||||||
fi
|
fi
|
||||||
# we don't this printing out extra line unless > 1 cpu core
|
# we don't this printing out extra line unless > 1 cpu core
|
||||||
if [[ ${#A_CPU_DATA[@]} -gt 2 && $B_SHOW_CPU == 'true' ]];then
|
if [[ ${#A_CPU_DATA[@]} -gt 2 && $B_SHOW_CPU == 'true' ]];then
|
||||||
|
@ -8879,13 +8913,13 @@ print_cpu_data()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ $B_CPU_FLAGS_FULL == 'true' ]];then
|
if [[ $B_CPU_FLAGS_FULL == 'true' ]];then
|
||||||
print_cpu_flags_full "${a_cpu_working[3]}"
|
print_cpu_flags_full "${a_cpu_working[3]}" "${a_cpu_working[6]}"
|
||||||
fi
|
fi
|
||||||
eval $LOGFE
|
eval $LOGFE
|
||||||
}
|
}
|
||||||
|
|
||||||
# takes list of all flags, split them and prints x per line
|
# takes list of all flags, split them and prints x per line
|
||||||
# args: $1 - cpu flag string
|
# args: $1 - cpu flag string; $2 - arm true/false
|
||||||
print_cpu_flags_full()
|
print_cpu_flags_full()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
@ -8893,7 +8927,11 @@ print_cpu_flags_full()
|
||||||
local cpu_flags_full="$( echo $1 | tr " " "\n" | sort )"
|
local cpu_flags_full="$( echo $1 | tr " " "\n" | sort )"
|
||||||
local a_cpu_flags='' line_starter=''
|
local a_cpu_flags='' line_starter=''
|
||||||
local i=0 counter=0 max_length=85 max_length_minus=15 flag='' flag_data=''
|
local i=0 counter=0 max_length=85 max_length_minus=15 flag='' flag_data=''
|
||||||
local line_length_max=''
|
local line_length_max='' flag_feature='Flags'
|
||||||
|
|
||||||
|
if [[ $2 == 'true' ]];then
|
||||||
|
flag_feature='Features'
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# build the flag line array
|
# build the flag line array
|
||||||
|
@ -8914,7 +8952,7 @@ print_cpu_flags_full()
|
||||||
for (( i=0; i < ${#a_cpu_flags[@]};i++ ))
|
for (( i=0; i < ${#a_cpu_flags[@]};i++ ))
|
||||||
do
|
do
|
||||||
if [[ $i -eq 0 ]];then
|
if [[ $i -eq 0 ]];then
|
||||||
line_starter="${C1}CPU Flags$SEP3${C2} "
|
line_starter="${C1}CPU $flag_feature$SEP3${C2} "
|
||||||
else
|
else
|
||||||
line_starter=''
|
line_starter=''
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue