metashell - User Friendly Shell

Justin Wray wray.justin at
Wed Jan 30 12:02:53 UTC 2008

Hey Daniel:

Comments inline, below.

On 1/29/08, Daniel Hollocher <danielhollocher at> wrote:
> Hello all,
> 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.
> I personally felt a little lackluster toward that, because it doesn't
> teach you anything.

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.

> 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.

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?

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.

By menu, do you mean something like, ncurses?

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.

Agree, part of the point of metashell.  Let someone with no CLI knowledge,
maneuver in the shell, while not being completely lost.

If making the CLI easier to learn is an interesting topic to you, then I
> would like to shamelessly plug my project at   I call it climl for short, standing for Command Line Markup Language, or
> Command Line Buddy as the long name.

Love to idea of the project, keep up the good work.

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.

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

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.
> Thanks for listening, bye.
> Dan
> --
> In science and in mind, the impossible and the hasn't-happened-yet are
> indistinguishable.


Justin M. Wray
Project Owner

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Ubuntu-devel-discuss mailing list