Top
Best
New

Posted by mmulet 3 days ago

Show HN: Term.everything – Run any GUI app in the terminal(github.com)
I made a built-from scratch Wayland Compositor to display any GUI app* in the terminal! I think there is a lot of unexplored potential in custom Wayland compositors, a lot of really cool things you can embed existing applications into! So, I started with embedding apps into the terminal because that is the easiest input/output (output is just utf-8 and I use the great `chafa` library for that, and I just read from stdin for the input).

If you have any other ideas for cool Wayland compositors, let me know. I purposedly wrote 80% the app in Typescript to appeal to the most developers and attract cool contributions (I do all drawing with the familiar Canvas2D api, so if there is interest, I can also fork this out into a cool Terminal canvas, let me know!)

I have a blog post here about how I did it, but it’s pretty high level and non technical, so please ask if you have any questions.

[How I Did It](<https://github.com/mmulet/term.everything/blob/main/resource...>)

*technically only Wayland apps and x11 apps with Xwayland. But on Linux that’s mostly everything.

1047 points | 142 commentspage 3
ugh123 2 days ago|
This could be used on build machines I own where I occasionally need to interact with the desktop and/or browser on the machine and vnc or other desktop sharing is impractical or exposes security issues.
quotemstr 2 days ago||
Great job! If you tug on this thread long and hard enough, you develop this enough and you get RDP (which you can try via xrdp, GNOME's remoting thing, etc.).

The reason the terminal ecosystem doesn't get much more sophisticated over time isn't just the herd-of-cats fragmentation, but also evaporative cooling: people who do really cool things with terminal come to realize that what they really want is remote desktop (perhaps rootless) and leave terminal stuff as-is while they invest in more sophisticated systems instead.

user3939382 2 days ago||
I've been working on the same thing but with a totally different approach. Good work! Keep it up.
nixpulvis 2 days ago||
This is one of those things I'm going to keep in my back pocket for a very specific time I need it for a weird reason.

I love it.

camdroidw 2 days ago|
Some apps you install just out of pure respect, this is one of those. Like I also have eagle view that I never use.
beckthompson 2 days ago||
Super cool! I also really am glad you added videos and examples in your github repo its nice to get an overview
babypuncher 2 days ago||
Combine this with desktop-tui[1] and say goodbye to graphical desktop managers forever!

1: https://github.com/Julien-cpsn/desktop-tui

christophilus 2 days ago||
Wow. This is amazing. I have started running a lot of stuff in containers by default for a whole host of reasons, and this may make my workflow even better on the occasions when I want to run a graphical app.
komali2 2 days ago||
This is an incredibly cool project and you should be proud for building it.
impoppy 2 days ago|
Can it run Doom?
mmulet 2 days ago||
It can. GIFs forthcoming.
mmulet 2 days ago||
Looks like archive.org is down right now… so I guess we’ll have to wait for GIFS. Sorry:
mmulet 2 days ago||
Doom time!

https://news.ycombinator.com/item?id=45203700

camdroidw 2 days ago||
Wow, you're actually a crazy guy!!

Good luck man, you rock

More comments...