@eldersnake@we.loveprivacy.club haha! I read as Golang the first time too. It is just the way our minds work. :-P
@kiwu@twtxt.net problems are aplenty everywhere, Kiwu. As we all know, ups and downs flare often times when we least expect them. When downs come, don’t despair: nothing lasts forever, and ups will soon come, one way or another. Pa’lante!
@kiwu@twtxt.net me too, me too! Thank you for sharing! 🫶
@kiwu@twtxt.net Always stay positive! 🙏
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@movq@www.uninformativ.de I guess so, yes. I read something about that in some ticket. In v3 the terminfo support was dropped, though. I’m still on v2 at the moment.
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@lyse@lyse.isobeef.org … I sure hope that they generate these files from the general terminfo database instead of maintaining their own DB. 😳
@movq@www.uninformativ.de Woah, that’s really amazing progress! :-)
@bender@twtxt.net I’m already using it for tracktivity (meant for tracking activities and events, like weather, food consumption, stuff like that), which is basically a somewhat-fancy CSV editor:

I have a couple of other projects where I could use it, because they are plain curses at the moment. Like, one of them has an “edit box”, but you can’t enter Unicode, because it was too complicated. That would benefit from the framework.
Either way, it’s the most satisfying project in a long time and I’m learning a ton of stuff.
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@movq@www.uninformativ.de Yeah, I know that terminals are super weird and messy. In both the KDE Konsole (identifying itself as TERM=xterm-256color) and xterm (TERM=xterm) it just works flawlessly. My urxvt (TERM=rxvt-unicode-256color) just doesn’t. I also tried messing with TERM in urxvt, but no luck so far.
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@lyse@lyse.isobeef.org Unix terminals are quite limited in that regard. 🫤 You know how Ctrl works? The XOR 0x40 thing? And Alt doesn’t exist at all, it’s just a prefixed ESC byte.
I was surprised to see curses knowing about “Shift+Tab”, wondering how that is supposed to work. Well, it’s an escape sequence, of course (depending on the terminal, of course).
@movq@www.uninformativ.de that some lovely development from the initial one. Curious to know where this will lead!
@prologic@twtxt.net Probably not, but thanks. 💚 It’ll get better.
@movq@www.uninformativ.de Anything we can do? Lend a listening ear? 👂
@prologic@twtxt.net Work and the general state of (gestures broadly) everything.
@movq@www.uninformativ.de What’s up? hmm 🧐
@movq@www.uninformativ.de I figure that’s exactly what it is.
@bender@twtxt.net ICQ, yeah, I vaguely remember these times, despite I still know my ICQ number like it was yesterday. :-D
@shinyoukai@neko.laidback.moe No, it’s not dead. The one account in question actually is on jabber.org.
@bender@twtxt.net I vaguely remember this, some leftover from the old-style hashtags? The (#foo) stuff? 🤔
@bender@twtxt.net it works fine under jenny. Maybe it is a bug on Yarn?
Yes, if a twtxt contains something like “(This is a test. Will this work as it should?)”, it will show empty on Yarn.
@prologic@twtxt.net it really is not blank. It reads:
2026-01-12T23:34:11+01:00 (you must be root)
@klaxzy@klaxzy.net nothing like a blank twt eh? 😅
@shinyoukai@yume.laidback.moe Jabber = XMPP.
@lyse@lyse.isobeef.org jabber.org has been long dead as far as I know
@movq@www.uninformativ.de Sorry, I meant the builtin module:
$ python3 -m pep8 file.py
/usr/lib/python3/dist-packages/pep8.py:2123: UserWarning:
pep8 has been renamed to pycodestyle (GitHub issue #466)
Use of the pep8 tool will be removed in a future release.
Please install and use `pycodestyle` instead.
$ pip install pycodestyle
$ pycodestyle ...
I can’t seem to remember the name pycodestyle for the life of me. Maybe that’s why I almost never use it.
Pep8 is deprecated, I think
Hmm, I don’t think it is, this still says “Status: Active”: https://peps.python.org/pep-0008/ 🤔
@lyse@lyse.isobeef.org I even got spam on ICQ, back when ICQ was a thing. I see spam as an innate thing. 😅
rustfmt. I now use similar tools for Python (black and isort).
@movq@www.uninformativ.de @prologic@twtxt.net That’s what I like about Go, too. However, every now and then I really dislike the result, e.g. when removing spaces from a column layout. Doesn’t happen often, but when it does, I hate it.
I think I should have a look at Python formatters, too. Pep8 is deprecated, I think, it’s been some time that I looked at it.
@kiwu@twtxt.net what’s going on, Kiwu?
@kiwu@twtxt.net Oh? 🤔 What’s up? Can you share? Or just having a hrd time? 🤗
rustfmt. I now use similar tools for Python (black and isort).
@movq@www.uninformativ.de Welcome to the dark side 🤣
@shinyoukai@yume.laidback.moe Hopefully, yes. Haven’t tried it yet.
@movq@www.uninformativ.de so basically an analogue to Xorg?
@movq@www.uninformativ.de in the only feed he has remaining, since the twtxt.net incident… doesn’t look like there’s any activity
@quark@ferengi.one 👀 Happy New Year! 😊
@shinyoukai@neko.laidback.moe mckinley is back? Where? 🤔
@mckinley@mckinley.cc ohai, long time!
@shinyoukai@neko.laidback.moe Whoohoo! That’s a start to cross-platform support 🤣
@movq@www.uninformativ.de Aha! Well, happy hacking. A tiling window manager seems to be good fun. :-)
@shinyoukai@neko.laidback.moe No email has arrived here? 🤔
@shinyoukai@neko.laidback.moe Okay I pushed a commit that hopefully fixes this. I hope!
@shinyoukai@neko.laidback.moe Yes; however the interpreter is also platform dependent and relies on making raw syscalls. This is so the runtime semantics remain the same between the two execution modes.
I’ll see if I can add support for linux/amd64 and netbsd/amd64 for the VM at least.
Shin'ya M. > ./bin/mu
panic: native backend does not support syscall platform netbsd/amd64
goroutine 1 [running]:
git.mills.io/prologic/mu/internal/native/arm64.init.0()
/home/shinyoukai/mu/internal/native/arm64/emitter.go:45 +0x7bf
…that was supposed to be the interpreter?
@lyse@lyse.isobeef.org It’s not super comfortable, that’s right.
But these mouse events come with a caveat anyway:
ncurses uses the XM terminfo entry to enable mouse events, but it looks like this entry does not enable motion events for most terminal emulators. Reporting motion events is supported by, say, XTerm, xiate, st, or urxvt, it just isn’t activated by XM. This makes all this dragging stuff useless.
For the moment, I edited the terminfo entry for my terminal to include motion events. That can’t be a proper solution. I’m not sure yet if I’m supposed to send the appropriate sequence manually …
And the terminfo entries for tmux or screen don’t include XM at all. tmux itself supports the mouse, but I’m not sure yet how to make it pass on the events to the programs running inside of it (maybe that’s just not supported).
To make things worse, on the Linux VT (outside of X11 or Wayland), the whole thing works differently: You have to use good old gpm to get mouse events (gpm has been around forever, I already used this on SuSE Linux). ncurses does support this, but this is a build flag and Arch Linux doesn’t set this flag. So, at the moment, I’m running a custom build of ncurses as a quick hack. 😅 And this doesn’t report motion events either! Just clicks. (I don’t know if gpm itself can report motion events, I never used the library directly.)
tl;dr: The whole thing will probably be “keyboard first” and then the mouse stuff is a gimmick on top. As much as I’d like to, this isn’t going to be like TUI applications on DOS. I’ll use “Windows” for popups or a multi-window view (with the “WindowManager” being a tiny little tiling WM).
@shinyoukai@neko.laidback.moe if you don’t show me the actual full stacktrace, I can’t fix the problem 😢
@prologic@twtxt.net well I ran into a panic() in netbsd/amd64 so there’s that
@prologic@twtxt.net the bytecode shouldn’t be a problem beyond Mac though?
I mean, since the current implementation is in Go
Mu (µ) is coming along really nicely 🤣 Few things left to do (in order):
- Finish the concurrency support.
- Add support for sockets
- Add support for
linux/amd64
- Rewrite the heap allocator
- Rewrite Mu (µ) in well umm Mu (µ) 😅
Here’s a screenshot showing off the builtin help(): 