HackerTrans
TopNewTrendsCommentsPastAskShowJobs

mmulet

no profile record

Submissions

HTML Kong (2016)

xn--8ws00zhy3a.com
3 points·by mmulet·7 months ago·1 comments

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

github.com
1,094 points·by mmulet·10 months ago·144 comments

comments

mmulet
·7 months ago·discuss
I use chafa in term.everything[0], and I have nothing but good things to say about it! hpjansson is a great maintainer too, if anything even seems like it's wrong with chafa he will chime in with a fix or a suggestion[1] (I'm not the only one he does this with too [2][3]). I would definitely recommend this lib for anyone doing terminal graphics.

[0]https://github.com/mmulet/term.everything

[1]https://github.com/mmulet/term.everything/issues/5

[2]https://lobste.rs/s/qh6lil/chafa_terminal_graphics_for_21st_...

[3]https://github.com/wong-justin/vic/issues/1#issue-2586904982
mmulet
·7 months ago·discuss
One of the really cool things about chafa is that it has both sixel and kitty graphic renderers! (and iterm2 images as well) So you can output kitty if the terminal supports it, but fall back to ascii if it doesn’t.
mmulet
·7 months ago·discuss
I use alpine for this [1] reason, but I will admit that this is a premature-optimization. I haven’t actually ran into the problem myself.

——

Your code is great, I do basically the same thing (great minds think alike!). The only thing I want to add is that cgo supports pkg-config directly [2] via

  // #cgo pkg-config: $lib

So you don’t have to pass in linker flags manually. It’s incredibly convenient.

[1]https://stackoverflow.com/questions/57476533/why-is-statical...

[2]https://github.com/mmulet/term.everything/blob/def8c93a3db25...
mmulet
·7 months ago·discuss
It works so far! No major gotchas that I know of yet. From the perspective of the apps, they are just talking to a normal Wayland compositor, so everything works as expected. Just try it for your workflow, and if you run into any problems just open an issue and I’ll fix it.
mmulet
·7 months ago·discuss
List of troubles:

[1]https://github.com/mmulet/term.everything/issues/28

[2]https://github.com/mmulet/term.everything/issues/18 (although this issue later gets sidetracked to a build issue)

[3]https://github.com/mmulet/term.everything/issues/14

[4]https://github.com/mmulet/term.everything/issues/7
mmulet
·7 months ago·discuss
I ran into this issue when porting term.everything[0] from typescript to go. I had some c library dependencies that I did need to link, so I had to use cgo. My solution was to do the build process on alpine linux[1] and use static linking[2]. This way it statically links musl libc, which is much friendlier with static linking than glibc. Now, I have a static binary that runs in alpine, Debian, and even bare containers.

Since I have made the change, I have not had anyone open any issues saying they had problems running it on their machines. (Unlike when I was using AppImages, which caused much more trouble than I expected)

[0] https://github.com/mmulet/term.everything look at distribute.sh and the makefile to see how I did it.

[1]in a podman or docker container

[2] -ldflags '-extldflags "-static"'
mmulet
·7 months ago·discuss
A version of game and watch donkey kong using only CSS and HTML (no javascript!).

You can play the game here: kong.xn--8ws00zhy3a.com
mmulet
·8 months ago·discuss
This is exceptionally cool! It looks like this post isn’t getting much love though. I’ll see if I can get this post added to the second chance pool[1] and get it added to the front page!

[1]https://news.ycombinator.com/item?id=26998308
mmulet
·9 months ago·discuss
Very cool!
mmulet
·9 months ago·discuss
This is cool. I love games where they don’t belong!
mmulet
·9 months ago·discuss
This looks useful! A lot of the time, I open a Space to work on a project and I want all my folders arranged in a certain way. Until now, I’ve been using Shortcuts, but it would be nice if Finder just remembered where everything should go.
mmulet
·10 months ago·discuss
Awww, thanks for your kind words. Tell you what: should the fates align and we ever meet at a tech conference or hackathon, etc, I’ll do what I can so that you leave with some Gwerm-flavored memorabilia.
mmulet
·10 months ago·discuss
Thanks, I’ll check that out
mmulet
·10 months ago·discuss
That’s right, it will still be pixelfied text. We could run ocr on the images then convert to text, but that’s an entirely new can of worms. Make a feature request issue on GitHub if you’re interested,
mmulet
·10 months ago·discuss
Depends on what resolution your terminal is set to. (Not the resolution of the GUI app you use, just the resolution you display it). At low resolution (640x480) it’s pretty performant, but at 4K I can hear my fans going full blast.
mmulet
·10 months ago·discuss
You will be able to copy/paste with term.everything once I implement the Wayland copy/paste interface (wl_data_device_manager).
mmulet
·10 months ago·discuss
But really, in the last 24 hours term.everything has accumulated 1500 stars, 600 upvotes on HN, 185 upvotes on lobsters (the highest upvoted `show` tag of all time), but despite all of that, you, my friend, are the first to ask about Gwerm.

That means you win the secret prize! A custom Gwerm T-shirt! I’ll send the details to the Gmail you have linked to your account.
mmulet
·10 months ago·discuss
He is doing okay. Thanks for asking.
mmulet
·10 months ago·discuss
<3
mmulet
·10 months ago·discuss
<3