Well, you girls and guys are making cool things, and I have some progress to show as well. đ
https://movq.de/v/c0408a80b1/movwin.mp4
Scrolling widgets appears to work now. This is (mostly) Unicode-aware: Note how emojis like âđ â are double-width âcharactersâ and the widget system knows this. It doesnât try to place a âđ â in a location where thereâs only one cell available.
Same goes for that weird âäâ thingie, which is actually âaâ followed by U+0308 (a combining diacritic). Python itself thinks of this as two âcharactersâ, but they only occupy one cell on the screen. (Assuming your terminal supports this âŚ)
This library does the heavy Unicode lifting: https://github.com/jquast/wcwidth (Take a look at its implementation to learn how horrible Unicode and human languages are.)
The program itself looks like this, itâs a proper widget hierarchy:
https://movq.de/v/1d155106e2/s.png
(There is no input handling yet, hence some things are hardwired for the moment.)
#yiihgta
(#yiihgta) @movq@www.uninformativ.de Is this on yout little toy OS? đ¤
#rddwluq
(#yiihgta) @prologic@twtxt.net No, thatâs Python/curses on Linux. đ
#hebmzgq
(#yiihgta) @movq@www.uninformativ.de Thatâs cool! I also like the name of your library. :-) I assume you made the thing load quickly, didnât you?
#2p27wba