posted by Tavis Ormandy on Mon 21st Feb 2005 10:53 UTC
IconI'd like to announce my new project, flush. Flush is a shell with a difference, you'll be able to execute simple commands like mv and rm, but there will be no support for scripting constructs, pipelines, globbing or substitution.


I'm sure many of you were thinking what an absurd idea flush would be, don't worry, I wasn't being serious. However, you probably put up with these limitations in your window manager every day, think about the different operations you perform in your window manager, and how it compares to working with files in your shell.

You can probably do little more than Move, Resize and Close windows, how different is this to my hypothetical flush? This may work well for some people, but if you're like me these limitations would be an unacceptable productivity roadblock. Consider file globbing, a simple feature that probably saves you hundreds of keystrokes daily, if you don't recognise the term, file globbing is simply matching multiple files with a single pattern. You might use globbing like this:

bash$ rm *.txt

This simple glob matches all the files with the extension .txt.
How would this command look in flush, my hypothetical shell that doesnt support globbing? Probably something like this:

flush$ ls
article.txt lists.txt diagram.txt
file.txt email.txt usenet.txt image.gif
flush$ rm article.txt lists.txt diagram.txt file.txt email.txt usenet.txt

You would have to identify all the text files manually, then enter each one as an argument to the rm command.
Compare this to how your window manager works, if you wanted to close all of your open xterms, you would browse every open application looking for xterms, then Close each one in turn. This probably sounds like a lot of work, a monotonous and repetitive task that computers should excel at, so why are users so happy to accept it?

Table of contents
  1. "Flush, Page 1/3"
  2. "FVWM, Page 2/3"
  3. "FVWM, Page 3/3"
e p (0)    63 Comment(s)

Technology White Papers

See More