Show HN: Gter – A terminal for GUI apps(github.com)
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.
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.
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.
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.
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?
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.
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!
You don't even need to make it vt100 compat. Just temporarily spawn the lightest vt100 compat terminal in the terminal.
It runs xterm. See `xinitrc`
xrdb ~/.Xresources xterm -geometry 150x1+0+0 & exec ./gter
Could you elaborate? Thanks.
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.
Except you'd need to keep track of windows inside the terminal, which is not obvious.
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.)
This makes me think we might need a terminal for web apps.
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.
> 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!)
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.
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.
This could be the start of a whole new world: https://www.destroyallsoftware.com/talks/a-whole-new-world
Xnest II: Electric Boogaloo
This is extremely cool. Hope to see it gets further development.
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...
Can this run over ssh/mosh?
xinit ./xinitrc -- /usr/bin/Xephyr :100 -screen 960x540 -dpi 96
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).
Who still uses X11 when Wayland works great?
If/when Wayland works great, I'm sure more people will start using it. In the meantime, it still breaks stuff that people use.
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.
What are the upsides?
the vast majority of people with a nvidia gpu
I use X via ssh at least once a week
Would be a much better Show HN if the demo picture works on the page...