A BIOS-style TUI in barebox could go a long way towards making barebox more user friendly: It could list different parameters with familiar controls instead of having to juggle around commands like varinfo, devinfo and magicvar.
This could especially be the case for barebox running on laptops. Laptops tend to not have a serial port routed out though, so the TUI we provide will need to be displayed on the framebuffer. Instead of adding a graphic toolkit to barebox, let's flesh out the framebuffer console support, so it can display a TUI that can avoid full redraws. Bonus benefit: The same UI will be usable over serial as well. A mockup of how this could look like is available at barebox.org/demo when running the tui command. Ahmad Fatoum (20): fbconsole: remove incomplete CSI_CNT state fbconsole: improve handling of unexpected escape sequences fbconsole: fix handling of CSI buffer overflow fbconsole: do not reset cursor visibility alongside attributes fbconsole: respect hidden cursor everywhere fbconsole: call fb_blit_area for every drawchar fbconsole: skip fb_flush when processing escape sequences fbconsole: factor out helpers for clamped cursor row/col setting fbconsole: precompute foreground/background colors fbconsole: collect renderable state into struct fbc_screen_state fbconsole: implement CSI A/B/C/D cursor movement sequences fbconsole: restrict cursor visibility to DEC private mode 25 fbconsole: add new clear_chars helper fbconsole: implement erase entire line CSI fbconsole: support ESC[0J and ESC[1J partial screen clear fbconsole: implement DEC save/restore cursor fbconsole: implement VT100 deferred wrap (last column flag) fbconsole: implement alternate screen buffer (ESC[?1049h/l) fbconsole: adapt logging depending on activated streams netconsole: suppress log message when opening console file common/console.c | 8 +- common/serdev.c | 2 +- drivers/video/fbconsole.c | 541 ++++++++++++++++++++++++++------------ include/console.h | 4 +- net/netconsole.c | 5 +- 5 files changed, 376 insertions(+), 184 deletions(-) -- 2.47.3
