9 ms·
I've been making a modern Slack terminal client (https://github.com/gammons/slk https://github.com/gammons/slk) and it's been a joy to use daily. There are a f
by dogas 4mo ago
I've been making a modern Slack terminal client (https://github.com/gammons/slk https://github.com/gammons/slk) and it's been a joy to use daily. There are a few things that IMO have unlocked a fantastic TUI experience:
- TUI libraries like Lipgloss and Bubbletea really allow users to build a rich experience nowadays. Really anything from https://charm.land https://charm.land is well-polished and a joy to use.
- Kitty image format works great and allows for Avatars, image previews, etc, which helps immensely make slk feel like a Slack client and not an IRC client.
- neomantra 4mo agoI really enjoy using Golang to make TUIs and the Charm ecosystem. > But I think we will swing back to using GUIs I've been pushing on BubbleTea Kitty and Ghostty quite a bit to hybridize this. The TUI / GUI distinction to me is about task centrism and delivery. There's an appropriate surface and workflow for every task; beyond TUI/GUI sometime it needs to be a VR headset or an immersive room or a literal sandbox. A demo of this is web-delivery of our BubbleTea TUI examples ('t' toggles between glyph/kitty): https://nimblemarkets.github.io/ntcharts/demos/heatpicture-perlin https://nimblemarkets.github.io/ntcharts/demos/heatpicture-p... The delivery uses our WIP Booba tool, which is Ghostty-based. The CLI tool can be used to remote or embed any TTY program, but was generally built for BubbleTea. https://github.com/NimbleMarkets/go-booba https://github.com/NimbleMarkets/go-booba I've recently made SVG, PDF, SVG, and OpenStreetMap widgets.... https://github.com/NimbleMarkets/ntcharts-svg https://github.com/NimbleMarkets/ntcharts-svg https://github.com/NimbleMarkets/ntcharts-pdf https://github.com/NimbleMarkets/ntcharts-pdf https://github.com/NimbleMarkets/ntcharts-osm https://github.com/NimbleMarkets/ntcharts-osm Right now I'm working on multiple ds4 TUIs using this stack, for example generating SVGs from a prompt and then rendering it in TUI. Another generates CSG object graphs and renders/composites them in terminal. Here's a gist with screenshots: https://gist.github.com/neomantra/ae47422c8daf7a458212c93992b3e078 https://gist.github.com/neomantra/ae47422c8daf7a458212c93992... The upstream ds4 project is using C for their TUIs. I have done TUIs in C and C++ (and many other languages) and will not go back to that. Really fun engine though and a great place to stick a TUI. I am a Camel furry (https://cameltopia.org https://cameltopia.org) but wouldn't use OCaml to make a TUI either (makes sense for Jane Street of course).