From 78f12378b947fb8b5a6058f3c360682e48224d2b Mon Sep 17 00:00:00 2001 From: Harald Hope Date: Sun, 30 Jul 2017 14:22:14 -0700 Subject: [PATCH] New version, tarball, man page. This corrects many 80 column width line wraps, including on: -o, -p, -l, -u, -P, -S, -G, -N, -A Now most output should tend to not wrap, though some strings are unpredictable and will have to be trimmed by adding them to the min size trimmers one by one. But it's much better than it was. Note the following changes required to make the wraps more consistent: -S - the gcc/bits have been made separate, like: bits: 32 gcc: 5.3 -C - the new microarchitecture -x option now is: arch: K7 [for example] cache wraps to next line with arch. with -f, bmips now shows on same line as arch/cache --- inxi | 313 ++++++++++++++++++++++++++++++++----------------- inxi.1 | 6 +- inxi.changelog | 25 ++++ 3 files changed, 232 insertions(+), 112 deletions(-) diff --git a/inxi b/inxi index cb8d8f8..2575695 100755 --- a/inxi +++ b/inxi @@ -2,8 +2,8 @@ ######################################################################## SELF_NAME='inxi' # don't quote the following, parsers grab these too -SELF_VERSION=2.3.30 -SELF_DATE=2017-07-29 +SELF_VERSION=2.3.31 +SELF_DATE=2017-07-30 SELF_PATCH=00 ######################################################################## #### SPECIAL THANKS @@ -3965,6 +3965,10 @@ get_audio_data() # The doublequotes are necessary because of the pipes in the variable. gsub(/'"$BAN_LIST_NORMAL"'/, "", audioCard) gsub(/'"$BAN_LIST_ARRAY"'/, " ", audioCard) + if ( '$COLS_INNER' < 100 ){ + sub(/Series Family/,"Series", audioCard) + sub(/High Definition/,"High Def.", audioCard) + } gsub(/^ +| +$/, "", audioCard) gsub(/ [ \t]+/, " ", audioCard) aPciBusId[audioCard] = gensub(/(^[0-9a-f:\.]+) [^:]+: .+$/,"\\1","g",$0) @@ -6577,6 +6581,9 @@ get_graphics_card_data() driver="" gsub(/'"$BAN_LIST_NORMAL"'/, "", $NF) gsub(/'"$BAN_LIST_ARRAY"'/, " ", $NF) + if ( '$COLS_INNER' < 100 ){ + sub(/Core Processor Family/,"Core", $NF) + } gsub(/^ +| +$/, "", $NF) gsub(/ [ \t]+/, " ", $NF) card=$NF @@ -8133,6 +8140,9 @@ get_networking_data() # The doublequotes are necessary because of the pipes in the variable. gsub(/'"$BAN_LIST_NORMAL"'/, "", aNic[counter]) gsub(/'"$BAN_LIST_ARRAY"'/, " ", aNic[counter]) + if ( '$COLS_INNER' < 100 ){ + sub(/PCI Express/,"PCIE", aNic[counter]) + } gsub(/^ +| +$/, "", aNic[counter]) gsub(/ [ \t]+/, " ", aNic[counter]) aPciBusId[counter] = gensub(/(^[0-9a-f:\.]+) [^:]+: .+$/,"\\1","g",$0) @@ -8938,7 +8948,7 @@ get_partition_data() { eval $LOGFS - local a_partition_working='' dev_item='' a_temp='' dev_working_item='' + local a_part_working='' dev_item='' a_temp='' dev_working_item='' local swap_data='' df_string='' main_partition_data='' fs_type='' local mount_data='' dev_bsd_item='' #local excluded_file_types='--exclude-type=aufs --exclude-type=tmpfs --exclude-type=iso9660' @@ -9119,11 +9129,11 @@ get_partition_data() for (( i=0; i < ${#A_PARTITION_DATA[@]}; i++ )) do IFS="," - a_partition_working=( ${A_PARTITION_DATA[i]} ) + a_part_working=( ${A_PARTITION_DATA[i]} ) IFS="$ORIGINAL_IFS" - dev_item=${a_partition_working[6]} # reset each loop - fs_type=${a_partition_working[5]} + dev_item=${a_part_working[6]} # reset each loop + fs_type=${a_part_working[5]} # older bsds have df minus -T so can't get fs type easily, try using mount instead if [[ $BSD_TYPE == 'bsd' ]] && [[ -z $fs_type && -n $dev_item ]];then dev_bsd_item=$( sed -e 's/non-dev-//' -e 's|/|\\/|g' <<< "$dev_item" ) @@ -9175,7 +9185,7 @@ get_partition_data() if [[ -n $dev_item ]];then # assemble everything we could get for dev/h/dx, label, and uuid IFS="," - A_PARTITION_DATA[i]=${a_partition_working[0]}","${a_partition_working[1]}","${a_partition_working[2]}","${a_partition_working[3]}","${a_partition_working[4]}","$fs_type","$dev_item + A_PARTITION_DATA[i]=${a_part_working[0]}","${a_part_working[1]}","${a_part_working[2]}","${a_part_working[3]}","${a_part_working[4]}","$fs_type","$dev_item IFS="$ORIGINAL_IFS" fi done @@ -9192,7 +9202,7 @@ get_partition_data() get_partition_data_advanced() { eval $LOGFS - local a_partition_working='' dev_partition_data='' + local a_part_working='' dev_partition_data='' local dev_item='' dev_label='' dev_uuid='' a_temp='' local mount_point='' # set dev disk label/mapper/uuid data globals @@ -9204,13 +9214,13 @@ get_partition_data_advanced() for (( i=0; i < ${#A_PARTITION_DATA[@]}; i++ )) do IFS="," - a_partition_working=( ${A_PARTITION_DATA[i]} ) + a_part_working=( ${A_PARTITION_DATA[i]} ) IFS="$ORIGINAL_IFS" # note: for swap this will already be set - if [[ -z ${a_partition_working[6]} ]];then + if [[ -z ${a_part_working[6]} ]];then - mount_point=$( sed 's|/|\\/|g' <<< ${a_partition_working[0]} ) + mount_point=$( sed 's|/|\\/|g' <<< ${a_part_working[0]} ) #echo mount_point $mount_point dev_partition_data=$( gawk ' BEGIN { @@ -9266,21 +9276,21 @@ get_partition_data_advanced() # assemble everything we could get for dev/h/dx, label, and uuid IFS="," - A_PARTITION_DATA[i]=${a_partition_working[0]}","${a_partition_working[1]}","${a_partition_working[2]}","${a_partition_working[3]}","${a_partition_working[4]}","${a_partition_working[5]}","$dev_partition_data + A_PARTITION_DATA[i]=${a_part_working[0]}","${a_part_working[1]}","${a_part_working[2]}","${a_part_working[3]}","${a_part_working[4]}","${a_part_working[5]}","$dev_partition_data IFS="$ORIGINAL_IFS" fi ## now we're ready to proceed filling in the data IFS="," - a_partition_working=( ${A_PARTITION_DATA[i]} ) + a_part_working=( ${A_PARTITION_DATA[i]} ) IFS="$ORIGINAL_IFS" # get the mapper actual dev item first, in case it's mapped - dev_item=$( get_dev_processed_item "${a_partition_working[6]}" ) + dev_item=$( get_dev_processed_item "${a_part_working[6]}" ) # make sure not to slice off rest if it's a network mounted file system if [[ -n $dev_item && -z $( grep -E '(^//|:/)' <<< $dev_item ) ]];then dev_item=${dev_item##*/} ## needed to avoid error in case name still has / in it fi - dev_label=${a_partition_working[7]} - dev_uuid=${a_partition_working[8]} + dev_label=${a_part_working[7]} + dev_uuid=${a_part_working[8]} # then if dev data/uuid is incomplete, try to get missing piece # it's more likely we'll get a uuid than a label. But this should get the # dev item set no matter what, so then we can get the rest of any missing data @@ -9326,7 +9336,7 @@ get_partition_data_advanced() # assemble everything we could get for dev/h/dx, label, and uuid IFS="," - A_PARTITION_DATA[i]=${a_partition_working[0]}","${a_partition_working[1]}","${a_partition_working[2]}","${a_partition_working[3]}","${a_partition_working[4]}","${a_partition_working[5]}","$dev_item","$dev_label","$dev_uuid + A_PARTITION_DATA[i]=${a_part_working[0]}","${a_part_working[1]}","${a_part_working[2]}","${a_part_working[3]}","${a_part_working[4]}","${a_part_working[5]}","$dev_item","$dev_label","$dev_uuid IFS="$ORIGINAL_IFS" done log_function_data 'cat' "$FILE_MOUNTS" @@ -9345,16 +9355,16 @@ get_partition_data_advanced_bsd() { eval $LOGFS local gpart_data="$( gpart list 2>/dev/null )" - local a_partition_working='' label_uuid='' dev_item='' + local a_part_working='' label_uuid='' dev_item='' if [[ -n $gpart_data ]];then for (( i=0; i < ${#A_PARTITION_DATA[@]}; i++ )) do IFS="," - a_partition_working=( ${A_PARTITION_DATA[i]} ) + a_part_working=( ${A_PARTITION_DATA[i]} ) IFS="$ORIGINAL_IFS" # no need to use the rest of the name if it's not a straight /dev/item - dev_item=${a_partition_working[6]##*/} + dev_item=${a_part_working[6]##*/} label_uuid=$( gawk -F ':' ' BEGIN { @@ -9379,7 +9389,7 @@ get_partition_data_advanced_bsd() # assemble everything we could get for dev/h/dx, label, and uuid IFS="," - A_PARTITION_DATA[i]=${a_partition_working[0]}","${a_partition_working[1]}","${a_partition_working[2]}","${a_partition_working[3]}","${a_partition_working[4]}","${a_partition_working[5]}","${a_partition_working[6]}","$label_uuid + A_PARTITION_DATA[i]=${a_part_working[0]}","${a_part_working[1]}","${a_part_working[2]}","${a_part_working[3]}","${a_part_working[4]}","${a_part_working[5]}","${a_part_working[6]}","$label_uuid IFS="$ORIGINAL_IFS" done fi @@ -12800,7 +12810,8 @@ print_cpu_data() local cpu_physical_count='' cpu_core_count='' cpu_core_alpha='' cpu_type='' local cpu_2_data='' working_cpu='' temp1='' per_cpu_cores='' current_max_clock_nu='' local line_starter="CPU:" multi_cpu_starter="${C1}clock speeds$SEP3${C2} " - local speed_starter='speed' arch='' arm=' (ARM)' rev='' + local speed_starter='speed' arch_data='' arm=' (ARM)' rev='' arch_cache='' cache_data='' + local flags_bmip='' ##print_screen_output "A_CPU_DATA[0]=\"${A_CPU_DATA[0]}\"" # Array A_CPU_DATA always has one extra element: max clockfreq found. @@ -12814,18 +12825,22 @@ print_cpu_data() a_cpu_info=(${A_CPU_DATA[$current_max_clock_nu]}) IFS="$ORIGINAL_IFS" - if [[ $B_EXTRA_DATA == 'true' && ${a_cpu_info[3]} != '' ]];then - get_cpu_architecture "${a_cpu_info[3]}" "${a_cpu_info[4]}" "${a_cpu_info[5]}" - # note: arm model names usually say what revision it is - if [[ ${a_cpu_info[3]} != 'arm' && "${a_cpu_info[6]}" != '' ]];then - if [[ -n "${ARCH/*rev*/}" ]];then - rev=" rev.${a_cpu_info[6]}" + if [[ $B_EXTRA_DATA == 'true' ]];then + if [[ ${a_cpu_info[3]} != '' ]];then + get_cpu_architecture "${a_cpu_info[3]}" "${a_cpu_info[4]}" "${a_cpu_info[5]}" + # note: arm model names usually say what revision it is + if [[ ${a_cpu_info[3]} != 'arm' && "${a_cpu_info[6]}" != '' ]];then + if [[ -n "${ARCH/*rev*/}" ]];then + rev=" rev.${a_cpu_info[6]}" + fi fi fi - if [[ "$ARCH" != '' ]];then - arch=" ($ARCH$rev)" + if [[ $ARCH == '' ]];then + ARCH='N/A' + else arm='' # note: to avoid redundant output, only show this without -x option fi + arch_data="${C1}arch$SEP3${C2} $ARCH$rev " fi # Strange (and also some expected) behavior encountered. If print_screen_output() uses $1 # as the parameter to output to the screen, then passing " ${ARR[@]} " @@ -12855,7 +12870,7 @@ print_cpu_data() line_starter="CPU$cpc_plural:" if [[ -z $BSD_TYPE ]];then cpu_data_string="$cpu_count_print$cpu_core_alpha core" - cpu_data="${C1}$cpu_data_string${C2} ${a_cpu_working[0]}$model_plural$arch ($cpu_type)" + cpu_data="${C1}$cpu_data_string${C2} $cpu_model$model_plural ($cpu_type) " else if [[ $cpu_physical_count -gt 1 ]];then per_cpu_cores=$(($cpu_core_count/$cpu_physical_count)) @@ -12866,7 +12881,7 @@ print_cpu_data() if [[ -n $cpu_type ]];then cpu_type=" ($cpu_type)" fi - cpu_data="$cpu_data_string${C1}model$SEP3${C2} ${a_cpu_working[0]}$cpu_type" + cpu_data="$cpu_data_string${C1}model$SEP3${C2} $cpu_model$cpu_type " fi if [[ $B_SHOW_CPU == 'true' ]];then # update for multicore, bogomips x core count. @@ -12921,8 +12936,9 @@ print_cpu_data() 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_2_data="$cpu_flags$bmip_data" + cpu_data="$cpu_data${C2}" + cache_data="${C1}cache$SEP3${C2} $cpu_cache " + flags_bmip="$cpu_flags$bmip_data" else cpu_data="$cpu_data${C2}$arm $bmip_data" fi @@ -12956,7 +12972,13 @@ print_cpu_data() fi cpu_clock_speed="${C1}$speed_starter$SEP3${C2} ${a_cpu_working[1]}" fi - cpu_2_data="$cpu_2_data$cpu_clock_speed" + if [[ $B_CPU_FLAGS_FULL == 'true' ]];then + cpu_2_data="" + arch_cache="$arch_data$cache_data$bmip_data" + else + cpu_2_data="$flags_bmip$cpu_clock_speed" + arch_cache="$arch_data$cache_data" + fi else if [[ $BSD_TYPE == 'bsd' && $B_ROOT != 'true' ]];then cpu_null_error=' No permissions for sysctl use?' @@ -12969,16 +12991,38 @@ print_cpu_data() # echo icols: $COLS_INNER # echo tc: $TERM_COLUMNS # echo :${cpu_2_data}: - calculate_line_length "$cpu_data $cpu_2_data" - if [[ -n $cpu_2_data && $LINE_LENGTH -gt $COLS_INNER ]];then + calculate_line_length "$cpu_data $arch_cache" + if [[ $LINE_LENGTH -gt $COLS_INNER ]];then + #echo one cpu_data=$( create_print_line "$line_starter" "$cpu_data" ) - line_starter=' ' print_screen_output "$cpu_data" - cpu_data=$( create_print_line " " "$cpu_2_data" ) + cpu_data=$( create_print_line " " "$arch_cache" ) + print_screen_output "$cpu_data" + line_starter=' ' + cpu_data='' + arch_cache='' + fi + calculate_line_length "$cpu_data$arch_cache$cpu_2_data" + if [[ -n $cpu_2_data && $LINE_LENGTH -gt $COLS_INNER ]];then + #echo two + calculate_line_length "$cpu_data$arch_cache" + if [[ $LINE_LENGTH -gt $COLS_INNER ]];then + cpu_data=$( create_print_line "$line_starter" "$cpu_data" ) + print_screen_output "$cpu_data" + else + cpu_data=$( create_print_line "$line_starter" "$cpu_data$arch_cache" ) + print_screen_output "$cpu_data" + arch_cache='' + fi + line_starter=' ' + cpu_data=$( create_print_line " " "$arch_cache$cpu_2_data" ) print_screen_output "$cpu_data" else - cpu_data=$( create_print_line "$line_starter" "$cpu_data" ) - print_screen_output "$cpu_data $cpu_2_data" + #echo three + if [[ -n "$cpu_data$arch_cache$cpu_2_data" ]];then + cpu_data=$( create_print_line "$line_starter" "$cpu_data$arch_cache$cpu_2_data" ) + print_screen_output "$cpu_data" + fi fi # we don't do this printing out extra line unless > 1 cpu core # note the numbering, the last array item is the min/max/not found for cpu speeds @@ -13099,13 +13143,13 @@ print_dmidecode_error() fi fi if [[ $2 == 'dmidecode-error-requires-root' ]];then - error_message="${sysDmiError}dmidecode: you must be root to run dmidecode" + error_message="${sysDmiError}dmidecode: root required for dmidecode" elif [[ $2 == 'dmidecode-error-not-installed' ]];then error_message="${sysDmiError}dmidecode: dmidecode is not installed." elif [[ $2 == 'dmidecode-error-no-smbios-dmi-data' ]];then - error_message="${sysDmiError}dmidecode: no smbios data available. Old system?" + error_message="${sysDmiError}dmidecode: no smbios data. Old system?" elif [[ $2 == 'dmidecode-error-no-battery-data' ]];then - error_message="${sysDmiError}dmidecode: no battery data available." + error_message="${sysDmiError}dmidecode: no battery data." elif [[ $2 == 'dmidecode-error-unknown-error' ]];then error_message="${sysDmiError}dmidecode: unknown error occurred" fi @@ -13120,7 +13164,7 @@ print_graphics_data() local b_is_mesa='false' display_full_string='' card_bus_id='' card_data='' local res_tty='Resolution' xorg_data='' display_server_string='' chip_id='' sep_pci='' local spacer='' driver='' driver_string='' driver_plural='' direct_render_string='' - local sep_loaded='' sep_unloaded='' sep_failed='' b_pci_driver='false' + local sep_loaded='' sep_unloaded='' sep_failed='' b_pci_driver='false' res_string='' local loaded='' unloaded='' failed='' display_server_string='' b_force_tty='false' local line_starter='Graphics:' part_1_data='' part_2_data='' b_advanced='true' local screen_resolution="$( get_graphics_res_data 'reg' )" @@ -13211,13 +13255,14 @@ print_graphics_data() fi fi # note: fix this, we may find a display server that has no version - if [[ -z $display_vendor || -z $display_version ]];then - display_server_string="N/A" + if [[ -z "${display_vendor// }" || -z "${display_version// }" ]];then + display_server_string="N/A " else - display_server_string="$display_vendor $display_version" + # note: sometimes display vendor has leading whitespace + display_server_string="${display_vendor##*[ ]} $display_version " fi if [[ $display_server != '' ]];then - display_server_string="$display_server ($display_server_string)" + display_server_string="$display_server ($display_server_string) " fi if [[ $B_EXTRA_EXTRA_DATA == '' && $compositor != '' ]] &&\ @@ -13329,23 +13374,40 @@ print_graphics_data() if [[ $driver == '' ]];then driver=' N/A' fi - - display_server_string="${C1}Display Server${SEP3}${C2} $display_server_string $compositor_string" + res_string="${C1}$res_tty$SEP3${C2} $screen_resolution " + display_server_string="${C1}Display Server${SEP3}${C2} $display_server_string$compositor_string" driver_string="${C1}driver$driver_plural$SEP3${C2}$driver " - - part_1_data="$display_server_string$driver_string" - part_2_data="${C1}$res_tty$SEP3${C2} $screen_resolution $root_x_string" - calculate_line_length "$part_1_data $part_2_data" - if [[ -n $( grep -vE '^[[:space:]]*$' <<< $part_1_data$part_2_data ) && \ - $LINE_LENGTH -gt $COLS_INNER ]];then - graphics_data=$( create_print_line "$line_starter" "$part_1_data" ) + part_2_data="$res_string$root_x_string" + calculate_line_length "$display_server_string$driver_string$part_2_data" + if [[ $LINE_LENGTH -gt $COLS_INNER ]];then + calculate_line_length "$display_server_string$driver_string" + if [[ $LINE_LENGTH -gt $COLS_INNER ]];then + #echo one + graphics_data=$( create_print_line "$line_starter" "$display_server_string" ) + print_screen_output "$graphics_data" + graphics_data=$( create_print_line " " "$driver_string" ) + print_screen_output "$graphics_data" + else + #echo two + graphics_data=$( create_print_line "$line_starter" "$display_server_string$driver_string" ) + print_screen_output "$graphics_data" + fi + line_starter=' ' + display_server_string='' + driver_string='' + else + #echo three + graphics_data=$( create_print_line "$line_starter" "$display_server_string$driver_string$part_2_data" ) print_screen_output "$graphics_data" line_starter=' ' - part_1_data='' - graphics_data=$part_2_data + display_server_string='' + driver_string='' + part_2_data='' fi - if [[ -n $( grep -vE '^[[:space:]]*$' <<< $part_1_data$part_2_data ) ]];then - graphics_data=$( create_print_line "$line_starter" "$part_1_data$part_2_data" ) + graphics_data=$display_server_string$driver_string$part_2_data + if [[ -n "${graphics_data// }" ]];then + #echo four + graphics_data=$( create_print_line "$line_starter" "$display_server_string$driver_string$part_2_data" ) print_screen_output "$graphics_data" line_starter=' ' fi @@ -14448,11 +14510,11 @@ print_optical_drive_data() print_partition_data() { eval $LOGFS - local a_partition_working='' partition_used='' partition_data='' - local counter=0 i=0 part_id=0 a_partition_data='' line_starter='' - local partitionIdClean='' part_dev='' full_dev='' part_label='' full_label='' + local a_part_working='' part_used='' partition_data='' + local counter=0 i=0 part_id=0 a_part_data='' line_starter='' + local part_id_clean='' part_dev='' full_dev='' part_label='' full_label='' local part_uuid='' full_uuid='' dev_remote='' full_fs='' - local b_non_dev='false' holder='' + local b_non_dev='false' holder='' id_size_used='' label_uuid='' fs_dev='' # set A_PARTITION_DATA get_partition_data @@ -14460,33 +14522,33 @@ print_partition_data() for (( i=0; i < ${#A_PARTITION_DATA[@]}; i++ )) do IFS="," - a_partition_working=(${A_PARTITION_DATA[i]}) + a_part_working=(${A_PARTITION_DATA[i]}) IFS="$ORIGINAL_IFS" full_label='' full_uuid='' - if [[ $B_SHOW_PARTITIONS_FULL == 'true' ]] || [[ ${a_partition_working[4]} == 'main' ]];then - if [[ -n ${a_partition_working[2]} ]];then - partition_used="${C1}used$SEP3${C2} ${a_partition_working[2]} (${a_partition_working[3]}) " + if [[ $B_SHOW_PARTITIONS_FULL == 'true' ]] || [[ ${a_part_working[4]} == 'main' ]];then + if [[ -n ${a_part_working[2]} ]];then + part_used="${C1}used$SEP3${C2} ${a_part_working[2]} (${a_part_working[3]}) " else - partition_used='' # reset partition used to null + part_used='' # reset partition used to null fi - if [[ -n ${a_partition_working[5]} ]];then - full_fs="${a_partition_working[5]}" + if [[ -n ${a_part_working[5]} ]];then + full_fs="${a_part_working[5]}" else full_fs='N/A' # reset partition fs type fi full_fs="${C1}fs$SEP3${C2} $full_fs " - if [[ -n ${a_partition_working[6]} ]];then - if [[ -z $( grep -E '(^//|:/|non-dev)' <<< ${a_partition_working[6]} ) ]];then - part_dev="/dev/${a_partition_working[6]}" + if [[ -n ${a_part_working[6]} ]];then + if [[ -z $( grep -E '(^//|:/|non-dev)' <<< ${a_part_working[6]} ) ]];then + part_dev="/dev/${a_part_working[6]}" dev_remote='dev' - elif [[ -n $( grep '^non-dev' <<< ${a_partition_working[6]} ) ]];then - holder=$( sed 's/non-dev-//' <<< ${a_partition_working[6]} ) + elif [[ -n $( grep '^non-dev' <<< ${a_part_working[6]} ) ]];then + holder=$( sed 's/non-dev-//' <<< ${a_part_working[6]} ) part_dev="$holder" dev_remote='raid' else - part_dev="${a_partition_working[6]}" + part_dev="${a_part_working[6]}" dev_remote='remote' fi else @@ -14496,16 +14558,16 @@ print_partition_data() full_dev="${C1}$dev_remote$SEP3${C2} $part_dev " if [[ $B_SHOW_LABELS == 'true' || $B_SHOW_UUIDS == 'true' ]];then if [[ $B_SHOW_LABELS == 'true' && $dev_remote != 'remote' ]];then - if [[ -n ${a_partition_working[7]} ]];then - part_label="${a_partition_working[7]}" + if [[ -n ${a_part_working[7]} ]];then + part_label="${a_part_working[7]}" else part_label='N/A' fi full_label="${C1}label$SEP3${C2} $part_label " fi if [[ $B_SHOW_UUIDS == 'true' && $dev_remote != 'remote' ]];then - if [[ -n ${a_partition_working[8]} ]];then - part_uuid="${a_partition_working[8]}" + if [[ -n ${a_part_working[8]} ]];then + part_uuid="${a_part_working[8]}" else part_uuid='N/A' fi @@ -14514,26 +14576,42 @@ print_partition_data() fi # don't show user names in output if [[ $B_OUTPUT_FILTER == 'true' ]];then - partitionIdClean=$( sed $SED_RX "s|/home/([^/]+)/(.*)|/home/$FILTER_STRING/\2|" <<< ${a_partition_working[0]} ) + part_id_clean=$( sed $SED_RX "s|/home/([^/]+)/(.*)|/home/$FILTER_STRING/\2|" <<< ${a_part_working[0]} ) else - partitionIdClean=${a_partition_working[0]} + part_id_clean=${a_part_working[0]} fi - id_size_fs="${C1}ID-$((part_id+1))$SEP3${C2} $partitionIdClean ${C1}size$SEP3${C2} ${a_partition_working[1]} $partition_used$full_fs$full_dev" + id_size_used="${C1}ID-$((part_id+1))$SEP3${C2} $part_id_clean ${C1}size$SEP3${C2} ${a_part_working[1]} $part_used" + fs_dev="$full_fs$full_dev" label_uuid="$full_label$full_uuid" + calculate_line_length "${a_part_data[$counter]}$id_size_used$fs_dev" + if [[ $LINE_LENGTH -gt $COLS_INNER ]];then + a_part_data[$counter]="$id_size_used" + ((counter++)) + calculate_line_length "$fs_dev$label_uuid" + if [[ $LINE_LENGTH -le $COLS_INNER ]];then + a_part_data[$counter]="$fs_dev$label_uuid" + label_uuid='' + else + a_part_data[$counter]="$fs_dev" + fi + ((counter++)) + id_size_used='' + fs_dev='' + fi # label/uuid always print one per line, so only wrap if it's very long - calculate_line_length "${a_partition_data[$counter]}$id_size_fs$label_uuid" + calculate_line_length "${a_part_data[$counter]}$id_size_used$fs_dev$label_uuid" if [[ $B_SHOW_UUIDS == 'true' || $B_SHOW_LABELS == 'true' ]] && \ [[ $LINE_LENGTH -gt $COLS_INNER ]];then - a_partition_data[$counter]="$id_size_fs" + a_part_data[$counter]="$id_size_used$fs_dev" ((counter++)) - a_partition_data[$counter]="$label_uuid" + a_part_data[$counter]="$label_uuid" else if [[ $LINE_LENGTH -gt $COLS_INNER ]];then - a_partition_data[$counter]="${a_partition_data[$counter]}" + a_part_data[$counter]="${a_part_data[$counter]}" ((counter++)) - a_partition_data[$counter]="$id_size_fs$label_uuid" + a_part_data[$counter]="$id_size_used$fs_dev$label_uuid" else - a_partition_data[$counter]="${a_partition_data[$counter]}$id_size_fs$label_uuid" + a_part_data[$counter]="${a_part_data[$counter]}$id_size_used$fs_dev$label_uuid" fi fi ((counter++)) @@ -14541,15 +14619,15 @@ print_partition_data() fi done # print out all lines, line starter on first line - for (( i=0; i < ${#a_partition_data[@]};i++ )) + for (( i=0; i < ${#a_part_data[@]};i++ )) do if [[ $i -eq 0 ]];then line_starter='Partition:' else line_starter=' ' fi - if [[ -n ${a_partition_data[$i]} ]];then - partition_data=$( create_print_line "$line_starter" "${a_partition_data[$i]}" ) + if [[ -n ${a_part_data[$i]} ]];then + partition_data=$( create_print_line "$line_starter" "${a_part_data[$i]}" ) print_screen_output "$partition_data" fi done @@ -15440,7 +15518,7 @@ print_system_data() local system_data='' bits='' desktop_environment='' dm_data='' de_extra_data='' local de_string='' distro_string='' line_starter='System:' local host_kernel_string='' host_string='' desktop_type='Desktop' - local host_name=$HOSTNAME + local host_name=$HOSTNAME bit_comp='' local distro="$( get_distro_data )" local tty_session='' compiler_string='' distro_os='Distro' @@ -15494,7 +15572,7 @@ print_system_data() if [[ $B_EXTRA_DATA == 'true' ]];then compiler_string=$( get_kernel_compiler_version ) if [[ -n $compiler_string ]];then - compiler_string=" ${C1}${compiler_string%^*}$SEP3${C2} ${compiler_string#*^}" + compiler_string="${C1}${compiler_string%^*}$SEP3${C2} ${compiler_string#*^} " fi fi # check for 64 bit first @@ -15503,7 +15581,8 @@ print_system_data() else bits="32" fi - bits=" ($bits bit$compiler_string)" + bits="${C1}bits$SEP3${C2} $bits " + if [[ $B_SHOW_HOST == 'true' ]];then if [[ -z $HOSTNAME ]];then if [[ -n $( type p hostname ) ]];then @@ -15515,27 +15594,43 @@ print_system_data() fi host_string="${C1}Host$SEP3${C2} $host_name " fi - host_kernel_string="$host_string${C1}Kernel$SEP3${C2} $CURRENT_KERNEL$bits " + host_kernel_string="$host_string${C1}Kernel$SEP3${C2} $CURRENT_KERNEL " + bits_comp="$bits$compiler_string" de_string="${C1}$desktop_type$SEP3${C2} $desktop_environment$de_extra_data$dm_data " distro_string="${C1}$distro_os$SEP3${C2} $distro " - calculate_line_length "$host_kernel_string$de_string" + calculate_line_length "$host_kernel_string$bits_comp$de_string" if [[ $LINE_LENGTH -gt $COLS_INNER ]];then - system_data=$( create_print_line "$line_starter" "$host_kernel_string" ) - print_screen_output "$system_data" + calculate_line_length "$host_kernel_string$bits_comp" + if [[ $LINE_LENGTH -gt $COLS_INNER ]];then + #echo one + system_data=$( create_print_line "$line_starter" "$host_kernel_string" ) + print_screen_output "$system_data" + system_data=$( create_print_line " " "$bits_comp" ) + print_screen_output "$system_data" + else + #echo two + system_data=$( create_print_line "$line_starter" "$host_kernel_string$bits_comp" ) + print_screen_output "$system_data" + + fi host_kernel_string='' + bits_comp='' line_starter=' ' fi - calculate_line_length "$host_kernel_string$de_string$distro_string" + calculate_line_length "$host_kernel_string$bits_comp$de_string$distro_string" if [[ $LINE_LENGTH -gt $COLS_INNER ]];then - system_data=$( create_print_line "$line_starter" "$host_kernel_string$de_string" ) + #echo three + system_data=$( create_print_line "$line_starter" "$host_kernel_string$bits_comp$de_string" ) print_screen_output "$system_data" host_kernel_string='' de_string='' + bits_comp='' line_starter=' ' fi - system_data="$host_kernel_string$de_string$distro_string" + system_data="$host_kernel_string$bits_comp$de_string$distro_string" if [[ -n $system_data ]];then - system_data="$host_kernel_string$de_string$distro_string" + #echo four + system_data="$host_kernel_string$bits_comp$de_string$distro_string" system_data=$( create_print_line "$line_starter" "$system_data" ) print_screen_output "$system_data" fi @@ -15549,7 +15644,7 @@ print_unmounted_partition_data() local a_unmounted_data='' line_starter='' unmounted_data='' full_fs='' local full_dev='' full_size='' full_label='' full_uuid='' full_string='' local bsd_unsupported='This feature is not yet supported for BSD systems.' - local line_starter='Unmounted:' part_2_data='' + local line_starter='Unmounted:' part_2_data='' if [[ -z ${A_PARTITION_DATA} ]];then get_partition_data @@ -15596,8 +15691,8 @@ print_unmounted_partition_data() if [[ $BSD_TYPE == 'bsd' ]];then full_string=$bsd_unsupported else - full_string="$full_dev$full_size" - part_2_data="$full_fs$full_label$full_uuid" + full_string="$full_dev$full_size$full_fs" + part_2_data="$full_label$full_uuid" fi calculate_line_length "$full_string$part_2_data" if [[ $LINE_LENGTH -gt $COLS_INNER ]];then diff --git a/inxi.1 b/inxi.1 index b1cb0bb..bd610e8 100644 --- a/inxi.1 +++ b/inxi.1 @@ -1,4 +1,4 @@ -.TH INXI 1 "2017\-07\-28" inxi "inxi manual" +.TH INXI 1 "2017\-07\-30" inxi "inxi manual" .SH NAME inxi \- Command line system information script for console and IRC .SH SYNOPSIS @@ -100,7 +100,7 @@ Setting specific color type removes the global color selection. Show full CPU output, including per CPU clockspeed and CPU max speed (if available). If max speed data present, shows \fB(max)\fR in short output formats (\fB\inxi\fR, \fB\inxi \-b\fR) if CPU actual speed matches CPU max speed. If CPU max speed does not match CPU actual speed, shows both actual and max speed -information. See \fB\-x\fR and \fB\-xx\fR for more options. +information. See \fB\-x\fR and \fB\-xx\fR for more options. With \-x shows microarchitecture. .TP .B \-d Shows optical drive data. Same as \fB\-Dd\fR. With \fB\-x\fR, adds features line to output. Also shows @@ -370,7 +370,7 @@ The following shows which lines / items get extra information with each extra da \- CPU microarchitecture + revision (like Sandy Bridge, K8, ARMv8, P6, and so on). Only shows if detected. Newer microarchitectures will have to be added as they appear, and require the CPU family id and model id. -Example: \fB(Sandy Bridge rev.2)\fR, \fB(K8 rev.F+)\fR +Example: \fBarch: Sandy Bridge rev.2\fR, \fBarch: K8 rev.F+\fR .TP .B \-x \-d \- Adds items to features line of optical drive; adds rev version to optical drive. diff --git a/inxi.changelog b/inxi.changelog index 4ab1315..044c889 100644 --- a/inxi.changelog +++ b/inxi.changelog @@ -1,3 +1,28 @@ +===================================================================================== +Version: 2.3.31 +Patch Version: 00 +Script Date: 2017-07-30 +----------------------------------- +Changes: +----------------------------------- +New version, tarball, man page. This corrects many 80 column width line wraps, including on: +-o, -p, -l, -u, -P, -S, -G, -N, -A + +Now most output should tend to not wrap, though some strings are unpredictable and +will have to be trimmed by adding them to the min size trimmers one by one. + +But it's much better than it was. + +Note the following changes required to make the wraps more consistent: + +-S - the gcc/bits have been made separate, like: bits: 32 gcc: 5.3 +-C - the new microarchitecture -x option now is: arch: K7 [for example] + cache wraps to next line with arch. with -f, bmips now shows on same line as + arch/cache + +----------------------------------- +-- Harald Hope - Sun, 30 Jul 2017 14:02:33 -0700 + ===================================================================================== Version: 2.3.30 Patch Version: 00