back to article Lash#Cat9: A radical new Linux UI for keyboard warriors

Lash#Cat9 is a new type of typing-driven UI, which moves beyond terminal emulators. Cat9's power comes from its close interaction with its display server, Arcan. This picks up some of the ideas from X11 and Wayland then goes much further. If you know your way around Unix, the word "shell" has strong associations, but to get a …

  1. Anonymous Coward
    Anonymous Coward

    Looks like an absolute nightmare.

    What is it with people nowadays that they want lots of annoying auto-completion shit popping up every time they try to type a command or a line of code?

    I have the same problem with modern IDEs when I type a block of code and then find the editor has helpfully added a load of brackets and braces that I didn't want, and altered the formatting, so I have to go back and fix it up. That's extra work, not time saving.

    And how many times do I need to turn off all those dozens of autocorrect/autoformat options in Outlook?

    I know that some people might value these features, if they don't really know what they want to type. But I old fashioned and I just want a single option somewhere to turn it all off. "What I type is what I want, don't fuck about with it".

    </rant>

    1. Liam Proven (Written by Reg staff) Silver badge

      [Author here]

      That seems like a strange response to me, but hey, you do you.

      On the one hand, I am all for innovative new UI design, because for nearly 3 decades now, it's mainly been responsive. "Let's find another way to do this, because $BIGCOMPANY will sue us if we do it the way that they claim they invented."

      That can be good, sometimes. Windows 95 happened because MS was forced to innovate in order to avoid being sued by Apple, as DR was sued by Apple over GEM. The result is a very good desktop, which is why 95% of Linux desktops imitate it.

      But it can only go so far. Apple did some amazing innovative work in iOS for the original iPhone, which, it's important to remember, was an offshoot of the iPad project, not the other way round.

      Android swiftly changed course from imitating Blackberry to imitating Apple.

      Now, many other UIs copy those two, notably GNOME, but the influence is also visible in MS Office, Windows, GNOME and so on.

      I think it's great to see someone striking out in a new direction that is different and is unafraid of being quite complicated and aimed at pros who know where they're going. It's a pleasant change to a constant stream of simplification and childish UIs with all the pro stuff ripped out.

      1. DJV Silver badge

        Re: That seems like a strange response to me

        Sorry, but I, too, disagree. To paraphrase what the AC says, what I type is what I want - crap jumping up into my face is NOT intuitive, it's just bloody annoying.

        1. David 132 Silver badge
          Thumb Up

          Re: That seems like a strange response to me

          "what I type is what I want"

          Ah yes. Don't get me started on Google and its helpful "you typed X but we think you meant to type Y, so here's the search results for Y".

          No, you bloody idiot savant website, I typed X so I meant to search for X! Aaaargh!

          1. that one in the corner Silver badge

            Re: That seems like a strange response to me

            >> what I type is what I want

            > you typed X but we think you meant to type Y

            Aren't we confusing autoCOMPLETION with autoCORRECT here?

            Agree, autocorrect is a pain in the backside, but I didn't spot anywhere in the Cat9 demo that showed that being done.

            1. Michael Wojcik Silver badge

              Re: That seems like a strange response to me

              I, and I expect the other people making similar comments above, hate both. Well, I'll allow autocompletion when I ask for it, but only then (and even so many implementations have various issues and need customization, if not outright fixing).

        2. Zeeblebrox

          Re: That seems like a strange response to me

          And if you can't be bothered to turn off the option, you're not an advanced user

        3. RegGuy1 Silver badge
          Happy

          Re: That seems like a strange response to me

          When I was 13, too many decades ago to think about, I went to a typing school. (I know, it was full of girls/women, but hey.) I very quickly learned to touch type. Now, I can easily look at a printed document, feel for the two nipples on the keyboard (stop it! F and J) and happily type away, knowing what I'm typing is correct. I can even look at the screen to check. I'll tell you what's amazing: when I make a mistake I know instantly. And can even tell you what letter/s I got wrong.

          I don't have to look at my fingers or the keyboard.

          That is such a wonderful skill that has been with me the whole of my life and was well worth the effort. I agree with the comments about IDEs. It pisses me off when these auto-complete routines run. I can indent my code, I know how to organise my programs, and I know how to use the keyboard.

          More people should learn to touch type. I learned on a thing called a typewriter -- one WITHOUT electricity! That was in the early 1970s. That's a simple skill that's done me well for decades.

          1. paul-s

            Re: That seems like a strange response to me

            Funny you should mention that, I’ve been on-and-off wanting to learn to touch type for years, the main reason I haven’t yet (beyond laziness that is) is because I write code rather than copy textual documents. Genuine question here: how does touch typing fare when mixed in with plenty of arcane punctuation and, often, moving around the screen and between files rather than having a linear character flow?

            1. Anonymous Coward
              Anonymous Coward

              Re: That seems like a strange response to me

              Badly.

              Especially given the number of places keyboard manufacturers shuffle off or tinker with spacing on various bracket characters, forward/back slashes, and the pipe character, among others. And that's just within the US-English layout.

              I mostly touch-type, but I definitely don't when it comes to number keys, or most non-text punctuation.

            2. Michael Wojcik Silver badge

              Re: That seems like a strange response to me

              how does touch typing fare when mixed in with plenty of arcane punctuation and, often, moving around the screen and between files rather than having a linear character flow?

              Depends on the typist and actual work flow, of course. I can often touch-type most of the code I write (but of course I try to minimize how much code I write, via prefactoring and reuse and the like, because code volume contributes to maintenance cost). And I use vim as my editor, so a lot of the "moving around the screen" can be touch-typed too, with various navigation and search operations.

              But I've spent decades learning to do it – I learned to touch-type (also on a manual typewriter) in school but didn't really touch-type most code until years later. And it's definitely sensitive to things like programming language and coding style, so I'm more likely to touch-type if I'm maintaining code I wrote than if I'm in someone else's, for example.

            3. An_Old_Dog Silver badge

              Re: That seems like a strange response to me

              I learned touch-typing in high school at my mom's suggestion it would be useful -- and it was, though I got only a "C" grade. A year later I learned "technical" touch-typing on our computer's Teletype ASR-33. The three primary computer-key layouts are the ASR-33-and-similar-terminals layout, the IBM PC/XT (function keys on the left), and the IBM AT (function keys across the top). I maintain a steady speed except for manufacturers' arbitrary, goofy modifications ("Where's the tilde key?!").

              I find switchiing between the different computer-key layouts takes ten minutes or less. (I have some character-display-only laptops which use the Teletype layout, plus 5 function keys and four arrow keys.)

          2. Liam Proven (Written by Reg staff) Silver badge

            Re: That seems like a strange response to me

            [Author here]

            > when I make a mistake I know instantly.

            I very rarely dabble in programming any more, and only for fun, but nonetheless, I think this stands:

            My understanding is that the real reason for things like autocompleting function names and parameters is nothing to do with typing. If you are touch typing at speed, that implies that you know what you want to type.

            Autocomplete is for when you _don't_ know what you want to type. If it's someone else's code, for instance, and you didn't name the functions, or they are from libraries or foundation classes created by whole external teams of people. You didn't pick the order the parameters go in, and which parameters you must supply, in which order.

            The purpose of autocomplete is not to fill in what you already know you want.

            It's to help find what you _don't_ know because you have not memorised the thousands of function names, with a dozen parameters each. Nobody can memorise all that stuff *and they shouldn't have to*.

            You seem to think it's to prevent instances where you know what you want but you type it wrong.

            It isn't. It's to help prevent the category of errors from *not knowing what to type.*

            Touch typing is a great skill and one I ought to learn. I am definitely not criticising that part. I'll get to it... Any decade now...

            1. that one in the corner Silver badge

              Re: That seems like a strange response to me

              I was taught to touch-type, on a massive old machine (shame so many of my comments into web pages are done using a tablet, where I'm down to one-finger typing!) yet I still think that auto-complete can be very handy.

              Just so long as it isn't trying to do too much, in which case it just becomes utterly infuriating. The worst thing that it can do is *insert* the current-choice-of-completed-word, by which I mean it moves the cursor to *after* its choice, as it then that you can unwittingly choose the wrong thing. Another truly painful action is to scroll the window, moving the line of text "because that way there is space for the list of options to be drawn".

              When the auto-complete just shows a list of words that start with the prefix you've typed so far, allowing you to quickly select one OR simply carry on typing your word without hindrance (btw, dropping from the list those that now don't match the longer prefix) that can be really, really useful. Even if you do know all the possibilities. ESPECIALLY if it stops people complaining that the variable/function names are too long, too much to type in! Decent auto-complete also allows things like using the cursor keys to lengthen (and shorten) the current prefix, scroll the list of matches etc. Even allowing simple matching, without resorting to a full-fat search: I know the function name has something to do with "Flibble" but was it "DoFilbble" or "CommenceFlibble" or... so type [magic-character]Flibble and the autocomplete list is populated.

              I should perhaps own up to the fact that I have been responsible, in the pre-GUI days, of adding auto-complete into the TUI of a few commercially released applications, where it appeared to be appreciated by our Users. At least, no-one phoned to complain about *that* part of the programs...

            2. Michael Wojcik Silver badge

              Re: That seems like a strange response to me

              Autocomplete is for when you _don't_ know what you want to type. If it's someone else's code, for instance, and you didn't name the functions, or they are from libraries or foundation classes created by whole external teams of people. You didn't pick the order the parameters go in, and which parameters you must supply, in which order.

              ...

              It's to help find what you _don't_ know because you have not memorised the thousands of function names, with a dozen parameters each. Nobody can memorise all that stuff *and they shouldn't have to*.

              No, what you should do is look it up, because the documentation or (code) definition may have important information that autocomplete does not show you. Needing autocomplete is a sign that you may not understand what you're writing well enough.

              Autocomplete is dangerous. I've seen more than a few bugs introduced by Autocomplete Pilots letting the IDE write code for them. It's the local version of StackOverflow.

              1. sreynolds

                Re: That seems like a strange response to me

                Autocomplete is the best thing since sliced bread. Automatically accepting the autocomplete result is the problem.

              2. Havin_it

                Re: That seems like a strange response to me

                Provided the code is documented in-line using the standard scheme most languages possess or have had imposed (and $DEITY help you anyway if you inherit a codebase that didn't adhere to this), any editor worth its salt will display the documentation in the autocomplete tooltip.

          3. ICL1900-G3

            Re: That seems like a strange response to me

            Yep, me too. I was a pretty fast two finger typist. I realised I would never manage to transition to touch typing properly during working hours, so during the Christmas break, l bought a teach yourself to type book and managed to get fast enough to say farewell to the two finger option. I think it was probably the most useful skill I ever learned and would recommend anyone using a keyboard to do the same.

            I'm afraid that I agree with the original AC, but I can understand that if you are not a touch typist, it could be very helpful.

        4. Michael Wojcik Silver badge

          Re: That seems like a strange response to me

          Well, it can be both, can't it? I too hate intrusive UIs, and I haven't even looked at Lash#Cat9 because realistically it won't be an option for work,1 and I have too much going on in my personal life to spend a lot of time experimenting with software on my own machines.

          But I'm glad that someone's trying something a bit different. I'm not convinced that it's really all that different, since pretty much everything Liam mentions in the article seems like something I used to do routinely when I was using UNIX workstations.2 But as I said I haven't looked at it myself, and in any case, sure, let's have a UI option that makes that sort of thing a first-class operation.

          It doesn't have to be for me.

          1I have to run Windows natively on my work machine. Over the years I've massaged Cygwin into an acceptable environment; I'm not going to devote a lot of time to getting something else (even WSL) working. For my Linux and UNIX work, I'm ssh'ing into remote systems, most of them on another continent, so command line is the only feasible option (which is fine by me).

          2It's not hard to interact with X11 and the window manager from the command line, if you run a sensible window manager. Maybe you end up writing a few windowless X11 clients to help; that's fine, libx11 is not a difficult API. And running multiple foreground text-mode programs is just "xterm -e ...".

      2. blah@blag.com

        I like to see innovation. I'm quite happy using a Windows95-alike desktop, so much so that on Windows I use classic shell, on Linux installation I straight away stick the taskbar at the bottom. In the end it's about your workflow and how you expect an OS+shell to work.

        However I find the idea of embedded media/files in a cli very interesting. (TempleOS FTW! [but without the insanity and bible quotes]).

        1. Liam Proven (Written by Reg staff) Silver badge

          [Author here]

          > (TempleOS FTW! [but without the insanity and bible quotes]).

          Then take a look at Oberon.

          http://www.projectoberon.com/

          As small, more readable, does more.

          Intro here:

          http://ignorethecode.net/blog/2009/04/22/oberon/

      3. John Brown (no body) Silver badge

        I think I may need to go off and try to find a better video demonstrating this. The embedded video was too fast for me, I barely had time to register "something" had happened, never mind what, and off it went on another tangent. And no audio track explaining what was happening. No, we are expected a watch a whole no paradigm in shell technology, reading quickly typed commands, trying to comprehend the result of that, and at the same time also reading the captions given to hint at what might be happening. They even demoed "multimedia" while limiting themselves to a monomedia presentation, ie video only. Information overload is the only way to describe it.

        As a self-confessed tech-junkie, it did nothing to encourage me to want to try it. The article itself seemed to be struggling to get the point over simply because it's a whole new concept that seems to be hard to describe, meaning a decent video demonstration was, IMO, a pretty vital component.

    2. karlkarl Silver badge

      I actually agree. I want expected behavior. When I type the letter 'a' I want to see the letter 'a' appear and nothing more.

      This kind of "popup" convenience crazyness is why I escaped GUIs and went back to the CLI many years ago. Now I am not saying popups for autocomplete are bad but absolutely they should be initiated with <tab> or something like that.

      Is there a real risk of an epileptic seizure whilst typing into this shell?

    3. Mark #255

      find the editor has helpfully added a load of brackets and braces that I didn't want, and altered the formatting

      All the IDEs that I've used have options to (a) switch off autocomplete, and (b) adjust the formatting/syntactic-sugar style to my own idiosyncrasies our in-house style.

      1. Michael Wojcik Silver badge

        Yup. And I have to say that once I've gone through every single option and setting in Visual Studio, and installed VsVim, it's pretty close to a real development environment. Just hugely bloated and slow and unstable, and lacking 95% of the command-line tools available under UNIX and Linux. And a lot less flexible. But aside from all that, it's nearly usable.

        (The same is probably true of Eclipse, but I've only used Eclipse for a few hundred hours or so in total, so I've barely scratched the surface of its eccentricities.)

    4. Flywheel

      Ditto. 2 minutes into the video was enough for me to ask why I'd need all this stuff? It's like a Swiss Army Knife but with 37 blades. It's a nope.

      1. VoiceOfTruth Silver badge

        At least now you know about it to say "no". It's not quite my cup of tea. Vim + nerdtree + a couple of other plugins is enough for me.

    5. Dan 55 Silver badge

      So it's a text-driven window manager, where new windows also show mostly text-based stuff. It's... different. The suggestions don't seem very useful, the user wants to type "find" and it suggests "forget" every time. It looks like it's a convoluted way of using "xterm &" and "open <filename>" from that video but maybe there's much more to it than that. Fantastic UI for the next Hollywood film though.

      1. Liam Proven (Written by Reg staff) Silver badge

        [Author here]

        No. You make three main errors here:

        * Cat9 is not a window manager: it's a shell.

        Durden is the window manager, but the real point here is the display server, and how a display server designed for it can do things that existing ones can't.

        * Cat9 is _not_ purely text-based _unlike_ existing shells.

        * It's a shell that _doesn't run in a terminal emulator_ so comparing it to maybe the oldest terminal emulator around is missing the whole point...

        Which is that it can do things that existing shells *together with existing terminal emulators* can't.

        * Cat9 is a demonstration of what Arcan can do. The real big thing here is not the shell, it's the display manager that permits it. This is also what permits a window manager that can be controlled from a shell.

        But you're right on some points. :-)

        * Yes, it _is_ different.

        * Yes, there is more to it than that.

        * Yes, it would look cool in a movie: that's the point of tech demos.

        1. Dan 55 Silver badge

          It's a shell that _doesn't run in a terminal emulator_ so comparing it to maybe the oldest terminal emulator around is missing the whole point...

          The point was if I run "xterm &" I get another window with another shell, and if I run "open" I get another window with music, an image, or a video, and it works both locally and with a remote X connection.

          The real big thing here is not the shell, it's the display manager that permits it. This is also what permits a window manager that can be controlled from a shell.

          Window managers and display servers are a dime a dozen in Linux, you can pick and choose whichever you want.

          So a custom shell couldn't clear the screen, open borderless windows, fill them with text/images/video/whatever, and send events to them to control them based on commands the user types unless the machine is also running Durden and Arcan? Maybe I'm missing something but I have to say that seems like a bold statement.

          Also if this new shell throws out the terminal emulator and depends on a display manager then how does this work remotely?

          Finally there are also terminal emulators like Kitty that have taken a different approach, but still offer similar functionality to Cat9, using X11.

          1. AJ MacLeod

            You're still missing the point... perhaps one of the older videos or blog posts describing Arcan would explain how it's not just X11 reincarnated. I've played with it a bit (though not in the past year or more) and I like the thinking that's gone into it. The tech demos are probably not doing it any favours sadly, he really has thought things through in a way that the Wayland project definitely has not.

    6. Zeeblebrox

      Outlook? Complaining about changing options?

      You sound like a real Linux hack.

      Keep up the leet leet

      1. LionelB Silver badge

        Pathetic comment. For all we know the OP is, like myself, obliged to use Outlook at work. I have also had a miserable time trying (and mostly failing) to turn off the multiple annoyances.

    7. 桜沢墨

      This is a ridiculous response to an article that talks about a full piece of software. Instead of talking about multiplexing, or the shortcuts that it introduces, or talking about integration with the window manager, which is what I would really argue against, you go on a long rant about a feature that you can almost certainly turn off. It's foolish to think that the way features will be offered in this application will somehow end up like outlook! If you have qualms with the program, then mention that you don't like feature A, but would like to see more of B, or just don't say anything at all because unless for some reason auto completion isn't toggleable, then there's no real reason to get mad over it like this.

    8. David Hicklin Bronze badge

      > annoying auto-completion

      I though this went out with the zx80/81 era ?

  2. Mike 137 Silver badge

    Possbly because

    "What is it with people nowadays that they want lots of annoying auto-completion shit popping up every time they try to type a command or a line of code?"

    Serious computer users don't, but the twitterati who do are the most visible target sector as they're the ones most commonly tracked and monitored. Consequently, UI are generally designed for them. In addition, it allows devs to demonstrate how smart they are, as bells and whistles get attention but smooth running non-intrusive code doesn't. The extent to which this way of thinking is prevalent is demonstrated by the almost universal forced interaction on web sites, whereby incomplete information is visible unless you click on a tab to display (often) the last few words of the sentence.

  3. Steve Graham

    Woof. There's a lot going on there. I don't think I have the mental flexibility any more to drive that. In fact, I think the last major change I made in command line was from VAX DCL to csh.

    However, I'm very interested in any alternative to Wayland. As the article says, X functionality has been gratuitously discarded. Also, I don't like the way it's tightly integrated into the Red Hat architecture.

    p.s. "#" for job id. What's a comment then?

    1. Liam Proven (Written by Reg staff) Silver badge

      [Author here]

      > There's a lot going on there.

      Yes there definitely is.

      > I don't think I have the mental flexibility any more to drive that.

      That's a real risk but the problem with the attitude is that it's hindered xNix from moving forwards in any radical way for 25Y or more now.

      > In fact, I think the last major change I made in command line was from VAX DCL to csh.

      Ha! Me too, up to a point. :-)

      # for a job number... well, № is too hard to type. ;-)

      To me the obvious contenders are:

      'comment

      ... or ...

      ; comment

      Both of which have history behind them, but it's non-Unixy history, and that brings out Unix folk in an "end of the Invasion of the Bodysnatchers remake" reaction in my experience.

      TBH I don't need to type comments on the command line, and if it does one thing on the CLI and something different in scripts, I am fine with that.

      1. This post has been deleted by its author

        1. Liam Proven (Written by Reg staff) Silver badge

          Why would it? It's an interactive shell, as in a UI *not* as in the Unix sense of "CLI parser".

          It is not seeking to replace `sh` or `csh` or `bash` as tools for running scripts. They can keep on doing what they do just fine. That's what the shebang is for.

          Therefore there is no additional complexity: they don't need to change a single byte.

          1. nijam Silver badge

            > ... no additional complexity...

            If users are going to have to retain 'sh' or 'csh' or whatever, that makes the whole new "not actually (but nearly) a shell" all the additioanl complexity you need.

      2. Irony Deficient

        Woof. There’s a lot going on there.

        I don’t think I have the mental flexibility any more to drive that.

        That’s a real risk but the problem with the attitude is that it’s hindered xNix from moving forwards in any radical way for 25Y or more now.

        Embedded in your response is the presumption that the benefits of moving forwards in any radical way would outweigh the malefits.

        well, № is too hard to type. ;-)

        Have you finished configuring your Compose key? ;*)

        1. Liam Proven (Written by Reg staff) Silver badge

          Re: Woof. There’s a lot going on there.

          > Have you finished configuring your Compose key? ;*)

          That's how I typed "№". ;-)

          Comp + cap N + o.

      3. nijam Silver badge

        > ... hindered xNix from moving forwards ...

        Ahh, if only we knew which way was forwards. It certainly seems that many commentards disagree with the particular versions of "forwards" chosen by MS, Appe, Google, etc.

        1. Michael Wojcik Silver badge

          And of course the nice thing about UNIX and Linux is that they've always been comfortable with providing multiple "forwards", and letting users pick which ones they liked.

          And here we have another one. It really doesn't matter whether I like it, or you like it, or Liam likes it. What matters is whether enough people find it to their taste to keep it viable. I'd be happy to see that happen, regardless of whether I ever use it.

    2. DS999 Silver badge

      We aren't the target market

      Back in the day I used to spend most of my time at work and more time at home in a Unix shell, now I doubt I use one for more than about a half hour a month. It just wouldn't be worth the investment in time to get used to a different way of working even if it proved to be more efficient.

      This is something people for whom Unix is new, or who are buried in the Unix command line for many hours a day and a way to work smarter not harder would benefit them.

      The people reading the Reg are probably mostly people who have years of experience with Unix shells, and 99% of their CLI time is in the past.

  4. robinsonb5

    I'll watch the videos later, but anyone having the energy to swim against the tide and take computing in a new direction has my respect. I'm quite reassured that so many projects exist today borne from a shared sense that somewhere along the line mainstream computing took a massive wrong turn.

  5. Anonymous Coward
    Anonymous Coward

    That looks amazing!

    I'm already a big fan of pushd, popd and dirs, but anything that allows for a more efficient CLI experience gets a thumbs up from me!

  6. steelpillow Silver badge

    Precedents

    ncurses can be seen as a step in this direction. Keyboard-driven and interactive. No images though, unless you allow ASCII art.

    But where else have I seen a GUI which interacts with a text command stream and is network aware? Ooer - the web browser, DOM and javascript.

    Let's hope the LashUP (or whatever) desktop is a bit more responsive than its HTML cousin.

    1. Liam Proven (Written by Reg staff) Silver badge

      Re: Precedents

      [Author here]

      Indeed, yes, in email conversation with the developer, he draws the comparison with a browser, too.

    2. Peter Gathercole Silver badge

      Re: Precedents

      I'm sure I've seen something like this running inside emacs, and that worked on a normal terminal (as long as it was supported by curses).

      Run command line in lisp, catch output into other named buffers that display in windows. Auto completion. I can't remember whether it was an included mode, or a package added to emacs.

      You say it's a bit like a blit. Having used blits (5620 and 630) for some time, it's nothing like the environment that came as standard with a blit. Blits work much more like a standard window manager session, albeit with some commands running locally on the blit.

      Actually, this looks more like Midnight Commander, although a bit more flexible.

      1. Liam Proven (Written by Reg staff) Silver badge

        Re: Precedents

        > Having used blits (5620 and 630) for some time, it's nothing like the environment that came as standard with a blit.

        Thanks for that. Interesting point.

        What I was trying to get at was not that the user experience was similar to using a Blit terminal, as sadly, I have never got to try one.

        What I was trying to convey was: consider the comparison between a conventional, dumb terminal emulator, emulating a dumb terminal, a single bit-serial comms channel between user and computer; and a Blit terminal, which enabled multiple conversations, multiple terminal windows, multiple things going on all concurrently (from the user's POV), while still communicating with the computer over a single serial connection.

        If you want to watch the progress of a compile, _and_ monitor a log file, _and_ glance at a process monitor (say `htop`), _and_ interact with a shell, all at once, then either you need 4 terminal emulator windows (or tiles or whatever), _or_ you need to use a separate terminal multiplexer such as `tmux` or `dvtm` or `zellij` something.

        OK, yes, some terminal emulators can handle this, but by bolting on tiles and multiple shells; the shell itself is totally unaware that there are multiple sessions going on.

        But we have lots of shells, lots of terminal emulators, lots of terminal multiplexing tools. That suggests that this *is* something people want and use.

        So, why not bring that multiplexing ability right into the shell itself?

        1. Peter Gathercole Silver badge

          Re: Precedents

          The blit used a multiplexed data stream running down a serial cable, StarLan or latterly Ethernet. It was not that different to (later) running SLIP down a serial line with multiple IP sessions breaking out to various programs.

          The novelty you're getting at was not having multiple windows, but having a way of driving sessions down a communication stream. The only difference with the blit was that it was driven down a single serial line, but when you think about it, there is absolutely nothing special about a serial line, it is a bi-directional communication path with flow control (if set up properly), and the only thing different about using RS232 and, say, IP over SDLC down a leased line was the speed. The multiplexing was part of the layered software that sat over the communication path.

          It wrapped the multiplexing into a user-land program on the host, and the downloaded firmware in the blit (5620's had to download the protocol handler as part of the initialization, 630's had it in persistent storage so that it was available immediately). Without that protocol handler, both 5620s and 630s were just big, expensive terminals with large screens (and you could use both like that if you wanted). Unlike, say, SLIP, the multiplexed sessions appeared on different pseudo-terminals on the host as if they were simple terminals, but mpx/Layers did also have a primitive file handling system to allow things like the jim editor to down and upload files to be edited locally.

          I don't know for certain, but I think that Rob Pike et.al. were playing around with the experimental Multiplexed Files on UNIX Edition 7, and then the AT&T STREAMS environment on later UNIX versions, to move the multiplexing away from user-land, and into the terminal stack of the OS.

          But I left the AT&T owned company before I got to play with blits over anything other than serial lines, although I was involved with a StarLan implementation, and also with some of the other AT&T networking products like RFS. I was offered a job at UNIX System Laboratories (USL) at one time, but they couldn't make it sufficiently financially attractive.

          But getting back to your last point. You say why not add it to the shell? Well, UNIX has always had ways of doing what is happening here, without having some monolithic single program, so it is probably against the UNIX way of including it in the shell.

          And I can't say that after trying to follow the YouTube video, that I would actually find it that useful myself.

        2. nijam Silver badge

          Re: Precedents

          > ... the shell itself is totally unaware that there are multiple sessions going on...

          At the time of writing, I have 6 terminal emulator windows (encompassing 14 separate tabs) open. It works perfectly well and there is really no need for a single shell to work out what's going on and where (not least because that setup relates to 5 separate projects that I'm working on) ... because I already know.

  7. DennisMFaucher

    Reminds me of fig.io

    I know there is a lot more going on here, but trying to make the prompt smarter is what Fig does.

    1. Liam Proven (Written by Reg staff) Silver badge

      Re: Reminds me of fig.io

      > Reminds me of fig.io

      Interesting. That was new to me -- thank you.

  8. Mark #255

    Display subsystem use-cases

    Wayland [...] seems to focus on high refresh rates and banishing display artifacts such as tearing

    Just about the only thing keeping me on Windows on my own PCs is gaming*, so this type of work is important if Linux is to be a no-brainer platform to support for devs.

    *and if I want to play Fortnite with my son & nephews, then Windows is required

  9. that one in the corner Silver badge

    Unfortunately, no one can be told what Lash#Cat9 is.

    You have to see it for yourself.

    1. that one in the corner Silver badge

      Re: Unfortunately, no one can be told what Lash#Cat9 is.

      And having had a look-see at the demo video and reading the "Whipping up a new Shell" blog, I can confidently say that a younger me would have been all over this, but these days it is going to take a few goes around to get to grips with what I just saw!

      Arcan on its own reads like something worth learning more about and I'm not going to completely pooh-pooh Cat9 without having actually tried it (may quietly ignore it because there are so many other things to be getting on with, but not deride it on that basis). However, the article points out that it is complex to build to get the whole stack running and I can see that being the time sink that prevents "just giving it a quick run around the block" :-(

      Thank for the article, Liam, and keep on digging up interesting stuff like this.

    2. nijam Silver badge

      Re: Unfortunately, no one can be told what Lash#Cat9 is.

      > no one can be told what Lash#Cat9 is

      And the second rule of Lash#Cat9 you can't tell anyone what it is.

  10. aerogems Silver badge
    Thumb Up

    Love the idea

    Still reserving judgement on the execution of that idea, but a keyboard centric UI seems like something that should be right up the alley of a lot of Linux users. One of the things I wish Linux, and FOSS developers in general, would do is try out crazy ideas like this instead of just copying (badly) whatever Microsoft and Apple are doing. They aren't beholden to shareholders, they don't have sales targets they're trying to meet... they're free (happy coincidence) to explore ideas like this. If it bombs, maybe they can take part of it and incorporate it into something else, or just leave the code sitting out there until someone else comes along and has an idea on how to make it work. If it succeeds, even better.

    1. Liam Proven (Written by Reg staff) Silver badge

      Re: Love the idea

      > I wish Linux, and FOSS developers in general, would do is try out crazy ideas like this instead of just copying (badly) whatever Microsoft and Apple are doing

      Exactly this!

      If you are all so different and independent -- so why did you all reimplement Win95 badly then?

    2. Peter Gathercole Silver badge

      Re: Love the idea

      I have mixed feelings about what you've said.

      While the look-and-feel of modern Linux desktops appears similar to Windows and Mac session managers, the truth is that many of the concepts from UNIX GUIs pre-date both that of the Mac, and Windows 95.

      I have never seen a Xerox Alto or Star in person but I did see a demo of a Lisa in the Apple dealer in Newcastle in the early 1980's, and I admit that it was impressive. But I had also been playing with a Sun 3/50 around the same time, and seen demos of Apollo Domain, Whitechappel and Perq workstations, Torch Unicorn and a little later, Torch Triple X systems.

      Many of these had the fundamental concepts of WIMP before Windows even was a thing, so I would say that there has been a convergence to something that is broadly familiar on all platforms.

      OK, a 'Start' button was not on all of them, but they all were able to set an area of the screen which would bring up menus, that you could then select to run programs, which then appeared in overlapping windows. This has appeared to be a fundamental way that people think, allowing work to be segregated into convenient chunks that you can easily switch between. I do not work significantly differently now than I did in the late 80's when I started using a windowed environment (twm then vtwm window manager on X11R3). The means of pulling up the menus is a little different, but the way I work is the same.

      I think it would take a rather special kind of person who could try to handle all of these things in a single session, with the size and shape of the session regious constantly changing in a paned manner, rather than overlapping windows. And I'm too old to become that sort of person, but good luck to those who can.

      1. Norman Nescio Silver badge

        Re: Love the idea

        Thumb up for mention of the PERQ, which I was using in anger in around 1985/6 for some primitive 3D display work, together with an IBM PC (with the upside down power switch) next to it. There's only so any ways you can slice'n'dice the WIMP interface.

        There is one thing I did try aeons ago, which was circular pop-up menus (pie menus). When you right-clicked, a circular context-sensitive menu appeared around the mouse pointer, and you could simply move the mouse in the requisite direction and release the right button to select the item. The sensitive area extended to the screen edges (Fitt's law optimisation) - you could also set it to click once to bring up the pie-menu and click a second time to select an item. Took a bit of getting used to, but once you did, it enable very fast choice of menu options. I don't remember which system it was on. I had hope that DEs/WMs would offer that approach as a standard option, but apparently not.

  11. GBE

    Waylands focus on things that don't matter.

    Wayland discards core functionality from X11, such as operation over the network, and instead seems to focus on high refresh rates and banishing display artifacts such as tearing – things that here at The Reg FOSS desk we frankly don't care about.

    Yes, to that! A thousand times yes!

    1. Anonymous Coward
      Anonymous Coward

      Re: Waylands focus on things that don't matter.

      It used to discard core functionality such as "working on Nvidia cards". Anyone know if that's been fixed?

  12. jake Silver badge
    Pint

    Fiddling about with it.

    First impressions: Far too busy, and extremely disjointed. A subset might be good for the modern SHINY! crowd, until they learn a little more about computers, but the complete thing is too complex for the "I want it now!" mindset. After a couple hours of playing with it, it looks to be a solution in search of a problem.

    But I'll reserve final judgement until I've used it for a week or so ... There are flashes of brilliance in there.

    A beer for the coder, and another for the author for pointing it out.

  13. An_Old_Dog Silver badge
    Meh

    Hunh ...

    This guy is popping with "concepts" and has implemented them.

    Kudo #1: it is (presuming the video was recorded at real-time rate) extremely fast. Autocomplete/autosuggestion in MS' whatever-it-was editor I was using to code Visual Basic 6 in was annoying because the autocomplete suggestions slowed the editor, and annoyed me when (as was most of the time) I didn't want the autocomplete's suggestion.

    Brickbat #1: No manual. I checked the GitHub page, and I Googled, with negative result. If you're introducing new, over-arching concepts and new ways of doing something, you'd better give the end-users a structured (top-down) explanation of all that new stuff.

    How about giving us auto-suggest only when we ask for it, by pressing a specific key-combo to do so?

    1. Liam Proven (Written by Reg staff) Silver badge

      Re: Hunh ...

      [Author here]

      Exactly so: loads of new ideas, whereas after a dozen years of effort across hundreds of people on multiple continents, what has Wayland got to offer me?

      Er... it looks a bit smoother?

      I think autosuggest that isn't auto wouldn't be much help, TBH. That does seem to obviate the whole point of the exercise.

  14. 桜沢墨

    Interesting project, needs a good demonstration

    As someone who isn't really afraid to get tangled in software that I know will be useful, even if it takes time to learn, I can't reject this project like many others do. I learned how to use vim, dwm, i3, st, and many other pieces of software that take time or effort to get used to, or to configure. All of that effort wasn't wasted; I still use dwm, vim, and st, and I am more productive when using my computer because of it. I understand that it's hard to explain something that would be better explained visually, but the main reason that more people won't check this out is because they aren't given a good reason to. If your project is very useful, then bring up some examples of tasks that you do that others usually struggle with, or mention how you can do what people already do, but faster or more clearly. If that isn't well explained then it will be hard to get people to use your project.

    That said, the only complaint I would say is that I don't think it should integrate with window managers. From what I've seen, the window manager features are things that people who would be using this project would already have, like the tiling from tiling window managers. From the video I saw, the only other thing that I would suggest is that you add or allow the adding of hotkeys, if they aren't already there. It would speed things up a lot.

    That's all from me, I hope I had some good feedback to offer. Happy programming!

  15. 桜沢墨

    Looking further into it, I may have been mistaken in the 'integration with window managers' part. If so, my mistake. If by integrate you just meant sends a signal to the server to tile a window or something, then afaik, that should be fine.

    1. Liam Proven (Written by Reg staff) Silver badge

      It's a demo of a whole new window manager, called Durden, and that WM in turn is a demo of a whole new display server, Arcan.

      AFAICT, the real project here is Arcan, and the rest are demos and proofs-of-concept.

      People do a thousand things with X.org these days that were never considered when X was implemented in the 1980s. I am typing on a hardware-3D-accelrated true-colour desktop 3 screens wide, one of them in portrait orientation...

      And that's using the built-in budget GPU of a decade-old CPU.

      No Wayland involved at all, and it literally offers me *no benefit* on this configuration. All that re-implementation of tried-and-tested code, and what does it deliver for me? Zero.

      1. Michael Wojcik Silver badge

        I am curious about Arcan – and a bit about Durden, though after using GUIs for nearly 40 years my observation is I don't really like any windows managers except ones I've written myself, or at least hugely customized. Might get all of this running in a VM over the holidays or something, just to poke at it a bit.

        If the autocomplete of Lash#Cat9 annoys me, I imagine it can't be that hard to find it in the code and turn it off. That's the point of having the source, yeah?

  16. RLWatkins

    It'd have been nice to actually learn something from this article.

    Instead of spending the first eight or nine paragraphs saying the same things over and over, how about actually describing the thing?

    "The command line includes an auto-complete feature.

    "Each command launches a small shell window within the main window in which that command executes, allowing the user to compose another command, launching another small shell window within the main window, while the one above it continues execution."

    It would have taken a few seconds to read that, as opposed to wading through a few hundred words of "It's new! It's different!" and watching a video.

    (I hate videos. They save the presenter a small amount of effort, while wasting a lot of the audience's time.)

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like