sanguine
Create dynamic, performant TUI applications in Rust.
Built on top of Termwiz' BufferedTerminal.
Note Sanguine is not quite ready for use. You can run the
demoexample if you want to try it out.
Goals:
- Floating windows
- Render optimizations
- Horizontal and vertical splits
- Global keyboard events
- Extensible widget trait
- Conventient layout primitives
- Focus
- Focused-widget keyboard events
- Mouse events
Demo
Watch in fullscreen, the lines don't render properly in a small viewport.
Demo usage
Demo keymaps:
<C-q>: quit<Tab>: switch layout (not working with new UI manager yet)<Shift-Tab>: switch current float<Up>: move the current float up<Down>: move the current float down<Left>: move the current float left<Right>: move the current float right<Shift-Up>: resize the current float<Shift-Down>: resize the current float<Shift-Left>: resize the current float<Shift-Right>: resize the current float