- End Goals
- From a terminal, you could...
- Select a file name and get information about a file
- Select a portion of ps or ls output and copy/paste it into a database or web page as an SQL table or HTML <table>
- Select a directory name and open up a file browser in that directory
When programs are run in a normal terminal not designed for the object-oriented features, everything is output as plain text as normal.
- Possible implementation
- An API layer between application software and terminal software. Unix's software utilities will have to be re-written to take advantage of it.
- Unix utilities give you a lot of information, much of which relates to other Unix features, but it all comes out as plain text that you can't really do anything to unless you either: design a special terminal to re-parse the text output of every command, or re-write the Unix commands to use a set of standard objects and design a special terminal to handle these objects. This concept takes the latter route.
- Unbound string object
- File-pointer object
- Table object
- Column object
- Cell object
- There would be more, but I can't think of any right now
Everything has a toString method for obvious reasons.
Everything should be implementable in user space; utilities with this library and the special terminal implementing them should be portable to BSD, Windows, OSX, etc.
The ability to export objects as different types (HTML table, ODBC table) could be through a series of import/export plugins. Unsure whether we would need to, for instance in the case of exporting a ps table to MySQL, have a libooterm plugin to export the libooterm table object to an MySQL table, or rewrite MySQL to take a libooterm table as input.