Final step: moved the error output switch to end of get_parameters. This lets you trigger
the debugger -@ <debug number> flag without having to actually alter the code of inxi
manually.
This might occasionally create undesired error output, but that's a good thing, since
that error output should be seen so we can know what the error is.
This is now launching inxi as an official script. Changed the default download url
to get it directly from google svn. This means that users can always reference the
official svn copy to ensure that the code is what it claims to be.
Added for development purposes new advanced testing options:
-! 1 triggers the boolean testing flag
-! 2 triggers an alternative development download
-! http://<any website>/path_to_download_directory/ (note: must end in /, and not include
inxi file name
Updated the script_self_updater function to handle variable download urls, and added an
update message that lets the person know where the update source was.
Added error handler for user provided testing download urls, if not existing, exit.
And with this, I'm handing over control to the inxi project itself.
A series of bug and potential bug fixes:
1. In get distro data, improved handling of unfound distros significanly, handling
lsb-release testing as a fall back in 2 cases.
2. Created a new get_distro_lsb_data function to handle that processing
3. Added a last test for lsb-release presence.
4. Fixed a small bug that made ubuntu live cd hard disk size display fail.
Added fall through /etc/lsb-release test to update distro data tests.
This adds one more failsafe test to future proof the stuff against
id failures.
I tried to also use the standard lsb_release function but for some reason
when it's run inside inxi and sent to awk it gets incredibly slowed down.
This is odd, since that command usually runs quite fast in shell.
But it's too slow as is for now to use, it makes everything hang.
Maybe later I'll add an option to trigger it or something.
Updated help menu to better explain this new system, and split it into two parts:
1. output control
2. additional options
This makes it easier to read and understand.
To make it more consistent, changed -s to -A, and changed the 'Sound' line starter to Audio
This makes all primary line switches upper case, and only -f which is an addon to CPU lower.
This is a major version upgrade. Fresh option set, totally upgraded, now supports per line print
control.
Each line now has a flag to switch it on or off, and those flags will also control full line
output with verbosity levels to keep it cleaner.
Since this is a core change, the new version is 0.5.0
Also moved all debugging and testing overrides to use characters, not letters:
-% - override corrupted data
-@ [number 1-10] - Triggers debugging levels 1 - 10
-! - triggers Testing data or functions
New option list and menu:
=======================================================================================
inxi -h
inxi supports the following options. You can combine
them, or list them one by one: Examples: inxi -v4 -c6 OR inxi -dc 6
Note: extra output options (eg -f,-H,-p,-s,-x) require a verbosity level of 1 or higher.
In other words, they only work if you use either -d or -v1 (or higher)
If you start inxi with no arguments, it will show the short form.
The following options if used without -d or -v will show just that complete line:
C,f,D,G,I,N,P,s,S - you can use these together to show just the lines you want to see.
If you use them with a -v level, it will show the full output for that line.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-c Available color schemes. Scheme number is required.
Supported schemes: 0-15 Example: inxi -c 11
-C Show full CPU output, including per CPU clockspeed.
-d Default output verbosity level, same as: inxi -v 1
-f Show all cpu flags used, not just the short list.
-F Show Full, all possible, output for inxi.
-D Show full hard disk info, not only model, ie: /dev/sda - ST380817AS - 80.0GB.
-G Show graphic card information (+ glx driver and version for non free video drivers).
-I Show information: processes, uptime, memory, irc client, inxi version.
-N Show network card information.
-P Show partition information (shows what -v4 would show, but without extra data).
-s Show sound card information.
-S Show system information: host name, kernel, distro
-U Auto-update script. Note: if you installed as root, you
must be root to update, otherwise user is fine.
-v Script verbosity levels. Verbosity level number is required.
Supported levels: 1-5 Example: inxi -v 4
1 - basic verbose, same as: inxi -d
2 - Also show networking card data
3 - Also show hard disk names as detected.
4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot
5 - For multicore systems, also show per core clock speeds.
-V inxi version information. Prints information then exits.
-x Show extra data: bogomips on cpu.
-% Overrides defective or corrupted data.
-@ Triggers debugger output. Requires debugging level 1-10.
1. Fixed help menu bug, now if unsupported option, error prints out full list of options used so people can see what the
wrong option was.
2. Refactored print_hdd_data, and split out print_hdd_partition_data to make it cleaner, and added triggers to primary
print output function directly, instead of embedding them in the hdd print function.
3. Moved print_it_out to top of print functions, and made better comments to show how it works.
literals in the case list. This might trigger a few failures, but it's better to then handle those failures explicitly in
my opinion than to depend on something as loose as *sh*, which will catch any app with sh ever made.
Moved advanced hard disk data to be triggered now by -H, to avoid spamming irc.
In the future, -x, extra data, will only be used for really silly little things like bogomips, ports, and so on, stuff
that's short and basically just of interest to a few people.
Fixed a small bug in the disk size calculator, now it works all with single decimal accuracy for percent used and disk
spacke in GB. This should solve a problem on smaller disks where the total partition size fails to equal the total disk
size, and where on single small disks, where the listed total size didn't match the calculated single disk output.