Clisweep

Kragen Javier Sitaker, 2018-06-06 (3 minutes)

The first relatively modern file manager I used was a thing on CP/M called “NSWEEP”. Like the CP/M command line, it was designed essentially for a teletype interface, but it used a completely different paradigm, one rather similar to the Macintosh Finder, which I think came somewhat later: it displayed you a list of files (one at a time, normally), and you would issue it keystroke commands to invoke operations on the current selection — normally a single file, but optionally some set of “tagged” files. (“The selection” was not, I think, NSWEEP’s terminology; it’s the modern terminology.) To respect the speed limitations of the teletype interface, it would normally only display you a single filename after each action — most actions, including tagging and untagging, moved to the next file, but you could also move to the previous file. And, if I recall correctly, there was a command to list all the files (with asterisks to indicate whether they were tagged) without requiring keystrokes in between each one.

This was about halfway to the direct-manipulation noun-verb user interface the Macintosh Finder used, which was of course prefigured by GUI work on the Alto and Star at PARC, which probably preceded and may have inspired NSWEEP. You would first select the file you wanted to act on, perhaps by moving down to it one line at a time with keystrokes (I think Enter or N would move to the next file?), then invoke the action you wanted to invoke on it. The Unix editor ed worked fairly similar, but with lines of text in a file rather than entire files, and with less feedback by default.

Speaking of strange user interfaces, the MH mail reader was, in the late 1980s and early 1990s, a relatively popular way to read email. I never used it, but as I understand it, you had short commands to do things like list the messages in the current folder, display the next and previous message in a folder, reply to the current message, or move it to another folder. The novelty is that these commands were invoked from the Unix command line, rather than a separate CLI like Berkeley mailx, or a screen interface like elm or mutt. So it was easier to script them, and you changed folders with the usual cd command, and so on.

So I was thinking it would be interesting to try something like this for file management: a set of commands you could use from the Unix command line that would give you a noun-verb next-prev kind of user interface for file management. And I was thinking it would be nice to support some kind of hashtags for saving, editing, and combining previously defined selections, since it’s 2018.

Topics