Bump inxi script to 1.0.8
authorManuel Nickschas <sputnick@quassel-irc.org>
Sat, 14 Mar 2009 23:24:52 +0000 (00:24 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sat, 14 Mar 2009 23:24:52 +0000 (00:24 +0100)
data/scripts/inxi

index 045563b..30f9edd 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 ########################################################################
 ####  Script Name: inxi
 #!/bin/bash
 ########################################################################
 ####  Script Name: inxi
-####  version: 1.0.7-b1-t1
+####  version: 1.0.8
 ####  Date: 13 March 2009
 ########################################################################
 ####  SPECIAL THANKS
 ####  Date: 13 March 2009
 ########################################################################
 ####  SPECIAL THANKS
@@ -295,7 +295,7 @@ DISTROS_LSB_GOOD="mandrake-release mandriva-release mandrakelinux-release"
 # $'\1' gets weird results :
 # user@host $ ARR=($'\x01'"one two" three four); echo ${ARR[0]} | hd -v
 # 00000000  01 01 6f 6e 65 20 74 77  6f 0a                    |..one two.|
 # $'\1' gets weird results :
 # user@host $ ARR=($'\x01'"one two" three four); echo ${ARR[0]} | hd -v
 # 00000000  01 01 6f 6e 65 20 74 77  6f 0a                    |..one two.|
-A_NORMAL_BANS=( corporation communications gmbh technologies technology group $'\2'"\<ltd\>" ltd. $'\2'"\<inc\>" inc. $'\2'\<co\> co. "(tm)" "(r)" $'\2'"\(rev ..\)" )
+A_NORMAL_BANS=( corporation communications gmbh technologies technology group $'\2'"\<ltd\>" ltd. $'\2'"\<inc\>" inc. $'\2'\<co\> co. "(tm)" "(r)" "®" $'\2'"\(rev ..\)" )
 A_CPU_BANS=( @ cpu deca 'dual core' dual-core 'tri core' tri-core 'quad core' quad-core ennea genuine hepta hexa multi octa penta 'processor' processor single triple $'\2'"[0-9.]+ *[MmGg][Hh][Zz]" )
 # after processing, the ban arrays will be put into these:
 BAN_LIST_NORMAL=''
 A_CPU_BANS=( @ cpu deca 'dual core' dual-core 'tri core' tri-core 'quad core' quad-core ennea genuine hepta hexa multi octa penta 'processor' processor single triple $'\2'"[0-9.]+ *[MmGg][Hh][Zz]" )
 # after processing, the ban arrays will be put into these:
 BAN_LIST_NORMAL=''
@@ -992,8 +992,8 @@ show_options()
        print_screen_output "    3 - Also show hard disk names as detected."
        print_screen_output "    4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot"
        print_screen_output "    5 - For multicore systems, also show per core clock speeds; shows audio card."
        print_screen_output "    3 - Also show hard disk names as detected."
        print_screen_output "    4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot"
        print_screen_output "    5 - For multicore systems, also show per core clock speeds; shows audio card."
-       print_screen_output "-x  Show extra data: bogomips on cpu; driver version (if available) for network/audio."
-       print_screen_output "    Only works with verbose or line output."
+       print_screen_output "-x  Show extra data: bogomips on cpu; driver version (if available) for network/audio;"
+       print_screen_output "    direct rendering status for Graphics. Only works with verbose or line output."
        print_screen_output ""
        print_screen_output "Additional Options:"
        print_screen_output "-h - this help menu."
        print_screen_output ""
        print_screen_output "Additional Options:"
        print_screen_output "-h - this help menu."
@@ -1890,9 +1890,18 @@ get_graphics_glx_data()
 {
        if [[ $B_X_RUNNING == 'true' ]];then
                IFS=$'\n'
 {
        if [[ $B_X_RUNNING == 'true' ]];then
                IFS=$'\n'
+               # A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
+               # A_GLX_DATA=( $( cat ../../modules/data/glxinfo-atom-1r | gawk -F ': ' '
+               # A_GLX_DATA=( $( cat ../../modules/data/glxinfo-intel-sput | gawk -F ': ' '
+               # there are arch bugs that make glxinfo generate bad output errors
+               # A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
+               # A_GLX_DATA=( $( cat ../../modules/data/glxinfo-bad-rendering | gawk -F ': ' '
                A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
                # note: function declarations go before BEGIN? It appears so, confirm.
                A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
                # note: function declarations go before BEGIN? It appears so, confirm.
-               function join(arr, sep) {
+               # the real question here though is why this function is even here, seems
+               # just to be a complicated way to pack/print a variable, but maybe the
+               # original idea was to handle > 1 cases of detections I guess
+               function join( arr, sep ) {
                        s=""
                        i=flag=0
                        for ( i in arr ) {
                        s=""
                        i=flag=0
                        for ( i in arr ) {
@@ -1909,24 +1918,28 @@ get_graphics_glx_data()
                }
                /opengl renderer/ {
                        if ( $2 ~ /mesa/ ) {
                }
                /opengl renderer/ {
                        if ( $2 ~ /mesa/ ) {
-                               # Allow r300 et al, but not the rest
-                               if ( $2 ~ / r[3-9][0-9][0-9] / ) {
+                               # Allow all mesas
+#                              if ( $2 ~ / r[3-9][0-9][0-9] / ) {
+                                       gsub(/'"$BAN_LIST_NORMAL"'/, "", $2)
                                        a[$2]
                                        a[$2]
-                                       f++
-                               }
+                                       # this counter failed in one case, a bug, and is not needed now
+#                                      f++
+#                              }
                                next
                        }
                        $2 && a[$2]
                }
                                next
                        }
                        $2 && a[$2]
                }
-               /opengl version/ && ( f || $2 !~ /mesa/ ) {
+               # dropping all conditions from this test to just show full mesa information
+               # there is a user case where not f and mesa apply, atom mobo
+               # /opengl version/ && ( f || $2 !~ /mesa/ ) {
+               /opengl version/ {
                        $2 && b[$2]
                }
                /direct rendering/ {
                        $2 && c[$2]
                }
                        $2 && b[$2]
                }
                /direct rendering/ {
                        $2 && c[$2]
                }
-
                END {
                END {
-                       printf("%s\n%s\n%s\n", join(a,", "), join(b,", "), join(c,", "))
+                       printf( "%s\n%s\n%s\n", join( a, ", " ), join( b, ", " ), join( c, ", " ) )
                }' ) )
                IFS="$ORIGINAL_IFS"
 
                }' ) )
                IFS="$ORIGINAL_IFS"
 
@@ -3060,7 +3073,11 @@ print_gfx_data()
        get_graphics_glx_data
        local glx_renderer="${A_GLX_DATA[0]}"
        local glx_version="${A_GLX_DATA[1]}"
        get_graphics_glx_data
        local glx_renderer="${A_GLX_DATA[0]}"
        local glx_version="${A_GLX_DATA[1]}"
-       local glx_direct_render="${A_GLX_DATA[2]}"
+       # this can contain a long No case debugging message, so it's being sliced off
+       # note: using grep -ioE '(No|Yes)' <<< ${A_GLX_DATA[2]} did not work in Arch, no idea why
+       local glx_direct_render=$( gawk '{
+               print $1
+       }'  <<< "${A_GLX_DATA[2]}" )
 
        if [[ ${#A_GFX_CARD_DATA[@]} -gt 1 ]];then
                i=1
 
        if [[ ${#A_GFX_CARD_DATA[@]} -gt 1 ]];then
                i=1
@@ -3080,15 +3097,16 @@ print_gfx_data()
        fi
        print_screen_output "$gfx_data"
 
        fi
        print_screen_output "$gfx_data"
 
-       if [[ -z $glx_renderer || -z $glx_version ]];then
-               b_is_mesa='true'
-       fi
+#      if [[ -z $glx_renderer || -z $glx_version ]];then
+#              b_is_mesa='true'
+#      fi
 
        ## note: if glx render or version have no content, then mesa is true
 
        ## note: if glx render or version have no content, then mesa is true
-       if [[ $B_X_RUNNING == 'true' ]] && [[ $b_is_mesa != 'true' ]];then
+       # if [[ $B_X_RUNNING == 'true' ]] && [[ $b_is_mesa != 'true' ]];then
+       if [[ $B_X_RUNNING == 'true' ]];then
                gfx_data=$( create_print_line " " "${C1}GLX Renderer${C2} ${glx_renderer} ${C1}GLX Version${C2} ${glx_version}${CN}" )
                gfx_data=$( create_print_line " " "${C1}GLX Renderer${C2} ${glx_renderer} ${C1}GLX Version${C2} ${glx_version}${CN}" )
-               if [[ $B_HANDLE_CORRUPT_DATA == 'true' ]];then
-                       gfx_data="${gfx_data} ${C1}Direct rendering${C2} ${glx_direct_render}${CN}"
+               if [[ $B_HANDLE_CORRUPT_DATA == 'true' || $B_EXTRA_DATA == 'true' ]];then
+                       gfx_data="$gfx_data ${C1}Direct Rendering${C2} ${glx_direct_render}${CN}"
                fi
                print_screen_output "$gfx_data"
        fi
                fi
                print_screen_output "$gfx_data"
        fi