<div>Hey Daniel:</div>
<div> </div>
<div>Comments inline, below.<br><br> </div>
<div><span class="gmail_quote">On 1/29/08, <b class="gmail_sendername">Daniel Hollocher</b> <<a href="mailto:danielhollocher@gmail.com">danielhollocher@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">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.</blockquote>
<div> </div>
<div>Agree. And part of the project is not only to help make the environment easier to understand and use, but to also teach the users.</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"> <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.</blockquote>
<div> </div>
<div>So when the user types in the filename, they hit "SHIFT-TAB" and nano/vi or which ever default application is added to the front of the line, and then executed? That way not only is the filename associated to a default application, the user can see how the commands are derived, and learn to use the CLI?</div>
<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">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. </blockquote>
<div> </div>
<div>By menu, do you mean something like, ncurses?</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">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. </blockquote>
<div> </div>
<div>Agree, part of the point of metashell. Let someone with no CLI knowledge, maneuver in the shell, while not being completely lost.</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">If making the CLI easier to learn is an interesting topic to you, then I would like to shamelessly plug my project at <a onclick="return top.js.OpenExtLink(window,event,this)" 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.</blockquote>
<div> </div>
<div>Love to idea of the project, keep up the good work.</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">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. </blockquote>
<div> </div>
<div>I would restrain from calling this a copy-and-pastier. For someone with experience, it is a lot of over-kill. But for a new user, seeing a "verbose" shell output, a GUI, and a tutorial all at once, will be a benefit.</div>
<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">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><span class="sg"><br><br clear="all"><br>-- <br>In science and in mind, the impossible and the hasn't-happened-yet are indistinguishable. </span></blockquote></div><br><br clear="all">
<br>-- <br>Thanks,<br><br>Justin M. Wray<br>Project Owner<br><br>Website: <a href="http://www.themetashell.com">http://www.themetashell.com</a><br>Support: <a href="http://www.themetashell.com/index.php/Help:Contents">http://www.themetashell.com/index.php/Help:Contents</a>