The Dawn of a new Command Line Interface (2017)
One thing I&#x27;ve been thinking of: how about making typed file descriptors?<p>Besides stdio and stdout, one of the best-accepted conventions on modern operating systems running a graphical shell seems to be the clipboard.<p>Programs can offer different mime types trough a clipboard, so why not do so trough a pipe or file descriptor? That would bring us a bit closer to powershell, while remaining backwards-compatible.<p><pre><code>    cat pipe.dot &lt;- text&#x2F;plain
    | dot &lt;- text&#x2F;plain, text&#x2F;dot, image&#x2F;svg+xml, application&#x2F;pdf, application&#x2F;postscript, etc
    | xclip
</code></pre>
Instead of xclip in the above example, one could use an image viewer, a multiplexer a bit like tee (1) but to redirect to standard input, etc. One could force a pipe to filter out some mimetypes, or use a program dedicated to that. One could imagine bidirectional communications over a channel.<p><pre><code>    xeyes | ssh somehost
    record-audio.sh | mail someone@somewhere
    nmtui | guitoolkit
    rsync | guitoolkit
    ssh somehost rsync | guitoolkit
</code></pre>
Basically, building on the strengths of UNIX.