Tuesday, May 4, 2010

Formerly known as "FutureShell"

I once made a little mockup of "FutureShell", a sort of mix between Enlightenment terminal and nautilus. It had many "killer features" such as "intelligent icons" that can inspect the type of data you drop to them in order to move data to the "most appropriate place".

While working today, there's another feature I wish my shell/terminal had: transfer of configuration. I'd love I could somehow drag-and-drop the value of SSH-AGENT variable or the label of a directory so that it cd' to that directory in another window.

I wonder whether the SDL-for-perl could help me prototyping this ... since I've realised that I don't need to build up my own kernel / X server to experiment with document access.

2 comments:

  1. [[the following notes about FutureShell were laying somewhere on a HDD]]

    The FutureShell is a mix between GUI shells and CLI shells, that should bring the power of the two. A few features you'll see is:


    the ability of quickly move around the system using CD commands.
    the ability of controlling the display of the icons by typing ls-like command rather than entering datas in a dialog box (for instance, ls - *~ should hide backup files and ls + .* should show normally hidden files in a unix-fashionned location.
    the ability to control the selection either by clicks (SHIFT+click, CTRL+click, etc) or by commands ($SEL+=*.c). You can operate on the selection using $SEL shell variable
    a smart engine that presents the most used directories and fork points as a pruned tree
    a smart "move to" location that adapts to the mime type of the icons dragged on it
    intelligent completion that can filter options based on the wished operations (much like TCSH already does) and scan tools's options and command line parameters to propose completion on --ena?ble-sound? or make ?all|clean|*.c?
    automatic collection of command results as temporary variables/files/directories depending on the output type. For instance if you called "which hello" and the program output was "/usr/bin/hello", you could assume (and you'll get a visual confirmation that) $1 is now bound to "/usr/bin/hello", avoiding you from cut&pasting the result. It could also be placed by default in the "paste buffer" so that you can get it back with CTRL+INSERT or whatever
    quick programmation of favourite locations and one-key/one-click navigation among these favourite locations. Those favourites may depend on the current task the shell executes.


    that's all i can remember of for now.

    ReplyDelete
  2. It would be great to be able to apply coloring rules a posteriori or apply them automatically (e.g. always colorize as xxx when 'make' is invoked)

    ReplyDelete