Hacker News

Show HN: Gter – A terminal for GUI apps(github.com)

185 pointsraoof posted 7 months ago32 Comments
com2kid said 7 months 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 said 7 months 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 said 7 months 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.


Aloha said 7 months 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 said 7 months 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 said 7 months 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 said 7 months 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 said 7 months 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 said 7 months ago:

It runs xterm. See `xinitrc`

    xrdb ~/.Xresources
    xterm -geometry 150x1+0+0 &
    exec ./gter
fizixer said 7 months ago:

Could you elaborate? Thanks.

einpoklum said 7 months 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 said 7 months ago:

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

Per_Bothner said 7 months 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 said 7 months ago:

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

fiatjaf said 7 months 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 said 7 months 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 said 7 months 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 said 7 months 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 said 7 months ago:

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

Accujack said 7 months ago:

Xnest II: Electric Boogaloo

akhilcacharya said 7 months ago:

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

proxybop said 7 months 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 said 7 months ago:

Can this run over ssh/mosh?

jxy said 7 months ago:

It runs

    xinit ./xinitrc -- /usr/bin/Xephyr :100 -screen 960x540 -dpi 96
afranchuk said 7 months 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 said 7 months ago:

Who still uses X11 when Wayland works great?

yjftsjthsd-h said 7 months 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 said 7 months 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 said 7 months ago:

What are the upsides?

warrd said 7 months ago:

the vast majority of people with a nvidia gpu

baq said 7 months ago:

I use X via ssh at least once a week

ConfusedDog said 7 months ago:

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