Show HN: Gter – A terminal for GUI apps

(github.com)

185 points | by raoof 324 days ago

13 comments

  • com2kid 324 days ago

    Only slightly related;

    My favorite 3d Modeling Program, Rhino3d, has a built in command line stemming from its Autocad heritage.

    It is absolutely amazing, and has been for two decades now. Rhino3d is by far the best 3d modeling program I have ever used, and I'd say it is downright fun to use!

    Auto-complete, discoverability, and the way it mixes keyboard and mouse input all come together to make this wonderful experience. A basic example, tell it to draw an ellipsoid, click the starting point, type the width in one dimension, and then click the mouse for the third point.

    In comparison to Sketchup I am easily 5x-10x more productive in Rhino (not just because of the command line, lots of other reasons, Rhino3d really is awesome).

    I wish more applications had built in command lines that mixed mouse and textual input so well together. IMHO the greatest contribution VS Code has made is bringing that sort of combined UI to the programming masses, and doing it really well.

    • yjftsjthsd-h 324 days ago

      Yeah, the one thing that I love about autocad is that they made a system where the GUI and CLI are actually fully integrated and equal. I'm actually surprised that I've not really seen anything like that elsewhere, especially in the *nix world.

      • com2kid 324 days ago

        AutoCAD's integration is a historic legacy from its roots back when GUIs were more limited.

        Rhino3d was, AFAIK, one of the earlier re-imaginings of that paradigm. (The CAD world doesn't move too fast!)

        Autocad has released slews of products since I last looked at any of this, but I still really enjoy using Rhino3d. It feels like a natural extension of my mind and body, it is that good to use.

        I don't even have a reason to do 3d modeling anymore, and I'll still open it up sometimes just to do something in it.

        Gah I can't believe Blender and Sketchup became popular with their WTF UIs. Or why they didn't just copy a good UI from the get go.

        Bleck.

    • Aloha 324 days ago

      Part of me wonders what a clean sheet redesign of a text terminal handling system would look like, would it still use inband signaling, or would you presume network and break it up into multiple sets of communications channels.

      • thetanil 324 days ago

        I don't get it. What can you do here that you couldn't otherwise? You already have a term and an xserver to make it work right?

        • raoof 324 days ago

          it's just a proof of concept. I think it's cool to have a unified UI to the OS it's like you're chatting with the OS and it/(she/he in the future) can show/ask you anything in response. my core idea is to make it easy to create something like Mathematica or Jupyter(IPython) by creating set of tiny GUI program that follow the same convention to talk to each other.

          • kragen 324 days ago

            That's a really interesting idea! I wrote a bit about it in Dercuano last year but I don't have a prototype to show. I look forward to seeing where you take it!

        • fallat 324 days ago

          You don't even need to make it vt100 compat. Just temporarily spawn the lightest vt100 compat terminal in the terminal.

          Very cool.

          • jxy 324 days ago

            It runs xterm. See `xinitrc`

                xrdb ~/.Xresources
                xterm -geometry 150x1+0+0 &
                exec ./gter
            • fizixer 324 days ago

              Could you elaborate? Thanks.

              • einpoklum 324 days ago

                The "terminalish" part of this terminal doesn't need to actually be implemented. Instead, it can run another terminal as another X app, as the full backgroudnd.

                • arnoooooo 323 days ago

                  Except you'd need to keep track of windows inside the terminal, which is not obvious.

            • Per_Bothner 323 days ago

              With DomTerm (https:://domterm.org) you can get similar functionality by embedding browser windows. In a running domterm window do:

              domterm html '<iframe src="https://example.com" width="100%" height="400">'

              I think this is potentially more useful than embedding X applications since an application with an embedded http-server can conceptually do anything an X application can do but with a more portable (and remote-able) toolkit. (DomTerm itself is an application with an embedded http server.)

              • fiatjaf 324 days ago

                This makes me think we might need a terminal for web apps.

                • fiatjaf 324 days ago

                  By this I mean actually a way for people to publish standardized web interfaces that can all be accessed from the same local terminal, with built-in identity, text-editing and JSON filtering with jq, who knows what else.

                  • JadeNB 324 days ago

                    > By this I mean actually a way for people to publish standardized web interfaces that can all be accessed from the same local terminal, with built-in identity, text-editing and JSON filtering with jq, who knows what else.

                    Unfortunately, the interfaces which need this treatment the most are the ones least likely to get it, since big companies (even those that do not intentionally profit by obscuring what they know about you from you) are terrified of what you might do with your own data if given anything more than laboriously point-and-click access to it.

                    (EDIT: Hi, PeopleSoft! I hate you!)

                    • fiatjaf 323 days ago

                      I think there are a ton of services that could be more easily built (at least as proof-of-concept) if this kind of UI existed and developers didn't have to worry about pretty flashy GUIs. Also something like this could have more access to "native" stuff than current browsers.

                  • sp332 324 days ago

                    The code is very out-of-date by now, but check out the old Ubiquity project https://en.wikipedia.org/wiki/Ubiquity_(Firefox) Before it died, they even had complex internationalization support that could handle different subject-verb-object orders and typed autocomplete.

                  • qihqi 323 days ago

                    This could be the start of a whole new world: https://www.destroyallsoftware.com/talks/a-whole-new-world

                    • Accujack 324 days ago

                      Xnest II: Electric Boogaloo

                      • akhilcacharya 324 days ago

                        This is extremely cool. Hope to see it gets further development.

                        • proxybop 324 days ago

                          This is really neat, you did an awesome job. I don't know why everyone is being so negative about this.

                          Hearkens back to another time...

                          • cryptonector 324 days ago

                            Can this run over ssh/mosh?

                            • jxy 324 days ago

                              It runs

                                  xinit ./xinitrc -- /usr/bin/Xephyr :100 -screen 960x540 -dpi 96
                              • afranchuk 324 days ago

                                If it doesn't, I think one could extend it to work with X forwarding since it seems to be running the applications in a separate X session (just like X forwarding).

                              • techntoke 324 days ago

                                Who still uses X11 when Wayland works great?

                                • yjftsjthsd-h 324 days ago

                                  If/when Wayland works great, I'm sure more people will start using it. In the meantime, it still breaks stuff that people use.

                                  • vetrom 324 days ago

                                    X via ssh is still useful, and I will be unhappy with wayland implementations until desktop shells get usefully separated from compositors. They need to be able to die/crash/be restarted separately.

                                    • TiccyRobby 324 days ago

                                      What are the upsides?

                                      • warrd 324 days ago

                                        the vast majority of people with a nvidia gpu

                                        • baq 324 days ago

                                          I use X via ssh at least once a week

                                        • ConfusedDog 324 days ago

                                          Would be a much better Show HN if the demo picture works on the page...