Skip to content(if available)orjump to list(if available)

Show HN: Term.everything – Run any GUI app in the terminal

Show HN: Term.everything – Run any GUI app in the terminal

55 comments

·September 9, 2025

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.

riddley

Do I need to be using wayland to try this? I'm still on x11.

warwren

I remember the carbonyl project to run chromium in the terminal that got me really excited (https://github.com/fathyb/carbonyl) but it eventually became unmaintained.

This is pretty much that but supercharged. Definitely really cool to see. Good work!

nick__m

That's awesomely useless, it straddles the line between programming and art.

I am sure it was a great and fun learning experience.

Well done !

actsasbuffoon

Yeah, I can’t explain why this project makes me so happy because I struggle to think of any time where I’d need this, but it puts a big, dumb grin on my face.

snozolli

It reminds me a bit of chindōgu, the Japanese art (?) of useless inventions. There's a particular delight to ingenious, but absurd or useless creations.

kposehn

Wow. I love this! I actually have a specific, esoteric use for this: VSCode on iPad

Hopefully supports iPadOS one day.

tri2820

This is such a cool project. Personally, I think there are so many interesting use cases that can be built on top of Wayland, like https://github.com/udevbe/greenfield and this

howyesno

"I feel like every single day I hear about another terminal file viewer. I say, stop making terminal file viewers because you can just use the file viewer you already have! In your terminal!" LMAO

maxglute

Stupid, love it. Occasionally I'll use shaderglass ascii shader on oled screen to play videos with pixel ratio that makes UI unreadable, but it's charming experience.

tracker1

This is pretty cool, I can see this being useful when I need to run a one-off remotely. Not sure about attaching a running program then detaching again, or mirroring... I wouldn't mind being able to SSH to my desktop and manipulate say the running Discord client, or similar.

Another similar thing that I'd been meaning to look into is the RDP remote apps stuff.

xiphias2

- Can you run a compositor inside a compositor? I'd love to just ssh to a server and run hyprland

- doesTerm.everything run inside tmux with automatic window resizing? I guess not, but it would be cool

Forgret

I wish you success in further development, don't stop!

mmulet

Thanks!

beckthompson

Super cool! I also really am glad you added videos and examples in your github repo its nice to get an overview

20after4

You could use a terminal graphics protocol to render real graphics. But there is already waypipe¹ to do that kind of remoting. Without using an actual terminal.

1. https://gitlab.freedesktop.org/mstoeckl/waypipe

vidarh

> You could use a terminal graphics protocol to render real graphics.

It already does that[1].

> But there is already waypipe¹ to do that kind of remoting.

That requires Wayland on the client side, doesn't it? I don't expect this to be super-practical anyway, but it's fun to see how far you can push a terminal.

[1] "If your terminal supports images (like kitty or iterm2) you can render windows at full resolution (performance may degrade)."