←back to thread

1080 points mmulet | 3 comments | | HN request time: 0.002s | source

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.

Show context
nick__m ◴[] No.45200895[source]
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 !

replies(3): >>45201051 #>>45203027 #>>45204865 #
actsasbuffoon ◴[] No.45201051[source]
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.
replies(4): >>45201232 #>>45201507 #>>45202762 #>>45204989 #
1. mmulet ◴[] No.45201232[source]
<3
replies(1): >>45202269 #
2. k-warburton ◴[] No.45202269[source]
I came here to make the same comment. I want to try this myself just for the fun of it and the grin it will put on my face. Nice work!
replies(1): >>45202357 #
3. mmulet ◴[] No.45202357[source]
You can have a <3 too!