| ▲ | Terminal borders that don't cost a cell(joshka.net) | ||||||||||||||||||||||||||||||||||||||||||||||
| 36 points by vinhnx 2 hours ago | 18 comments | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | tptacek an hour ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I love this work and everything else Ratatui does but I have to ask: if you're changing the terminal protocol and the terminal itself to do this, why not do something more ambitious; a full monospaced information-dense UI framework, a terminal designed for user interfaces, rather than one designed to replicate the limitations of dumb terminals? | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | joouha an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
A much better alternative to this would be to for more terminal emulators to implement overstrike mode (DECSET 20, as available on the VK100). That way you could just draw border characters over existing text cells to achieve the same thing. Unfortunately mintty is the only terminal emulator I'm aware of which supports overstrike [0], as this would open up a world of new possibilities for TUI apps if more widely supported. [0] https://github.com/mintty/mintty/wiki/CtrlSeqs#overstrike | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ganelonhb 2 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
This is gorgeous and I need it in trunk for both kitty and ghostty | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | montroser an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I appreciate the innovation happening with TUIs in these modern times. But, aesthetically, I have to say, I like my borders to have some breathing room, which gets lost in this particular treatment. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | hnlmorg an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Why wouldn’t this work over tmux? The authors claims don’t make a whole lot of sense because if this were a cell property, like any other CSI, then it’ll get rendered in the terminal emulator exactly as intended. And we know this because none of the other CSI sequences get garbled over multiplextors. But for there to be a dedicated section on how multiplexors wouldn’t work suggests to me that the authors already tried this via tmux. So I’m left wondering what they’ve done with the implementation of this to make that a problem. I spotted they are using DCS sequences. But even that shouldn’t be an issue itself. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | cobychapple an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Would be cool to get borders and lines out of copy/paste | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | 0c3ca83 an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
What if, dare I say it, we just served HTML over ssh, and let the browser render a proper UI, instead of layering hacks on top of hacks? | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | kenzo_cavanaugh an hour ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||
[flagged] | |||||||||||||||||||||||||||||||||||||||||||||||