<div class="gmail_quote"><br>Hello all,<br>I had an idea for metashell this morning, that takes into account some of the dialog on this list.  So, to restate, right now, metashell offers users the value of MIME-types and application associations, whatever, via the same interface that see or open uses.  You just feed in the file name, and it tries to open the file with the correct application.<br>

I personally felt a little lackluster toward that, because it doesn't teach you anything.  <br><br>My inspiration this morning was to offer the same value of MIME-types and application associations through a tab completion like interface.  Right now (in my shell anyway), tab completion offers suggestions on how to complete the end of your command, or, if there is only one natural choice, it fills in what it can.  You could have shift+tab completion for the front of your command.<br>

<br>So, a user, with tab completion, can locate a file, and get its name typed into the terminal.  Then, the user can hit shift+tab, and then a menu shows up offering various commands that make sense for that file.  If its a .tar.gz file, maybe F1 will insert tar xvzf into the front of the line.  Or, you could hit F5, and it opens up a more general menu, for moving or copying files, or even ftp, whatever.  (please use your imagination to picture an appropriate console ui)  Whatever selection you make, it inserts the correct command into the terminal.  <br>

<br>This would actually match the current behavior of a gnome-desktop or windows user.  You find files, and then figure out what you want to do with the file.  You use a file browser, and then double clicking, right-clicking, drag and drop, whatever.  <br>

<br>If making the CLI easier to learn is an interesting topic to you, then I would like to shamelessly plug my project at <a href="https://launchpad.net/climl" target="_blank">https://launchpad.net/climl</a> .   I call it climl for short, standing for Command Line Markup Language, or Command Line Buddy as the long name.<br>

<br>This project offers a new way to document the CLI.  Right now, most documentation is in the form of sonnets and novels written by programmers (and... at MY college, you could get out of your single writing class requirement by taking a class in software design).  With climl, you would instead document a task with an html like format.  GUIs are then generated from that documentation which can perform said CLI tasks, and in plain view of/for the user.  Two windows are opened, one with buttons that can execute commands, and another with the default shell running.  Pressing a button just sends a text string over to the shell.  In a sense, you could criticize the project for being an over-glorified copy-and-paster.  <br>

<br>So, with one document, you get documentation of the task, a GUI for the task, and a tutorial for the task regarding how to perform it on the command line.  <br><br>Thanks for listening, bye.<br><br>Dan<br><font color="#888888"><br>
<br clear="all">
<br>-- <br>In science and in mind, the impossible and the hasn't-happened-yet are indistinguishable.
</font></div><br><br>