From 80c3b84e08a1debc0e5af8567f9eeb0b1716303a Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Fri, 2 Oct 2020 14:30:41 -0400 Subject: lua Add scrollable stack traceback WIP lua currently splashes a stack traceback on error for deep tracebacks and especially on devices with smaller screens this leaves out a lot of vital information in the past I have resorted to splitting the traceback string or even saving the return to a file This patch provides a scrollable buffer with rudimentary text reflow to allow you to read the whole traceback string Upon traceback if you press nothing the screen will display for 5 seconds If you press OK or CANCEL it will quit immediately PREV/NEXT scrolls the list on button press timeout is disabled lua now provides rb.splash_scroller(timeout, str) example script provided too Change-Id: Idbc8ce0c514196f0fae48c43aeaea8b60d6da1a5 --- apps/plugins/lua/rocklib.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'apps/plugins/lua/rocklib.c') diff --git a/apps/plugins/lua/rocklib.c b/apps/plugins/lua/rocklib.c index 8eab08f987..5f0143efbb 100644 --- a/apps/plugins/lua/rocklib.c +++ b/apps/plugins/lua/rocklib.c @@ -287,6 +287,14 @@ RB_WRAP(do_menu) return 1; } +RB_WRAP(splash_scroller) +{ + int timeout = luaL_checkint(L, 1); + const char *str = luaL_checkstring(L, 2); + int action = splash_scroller(timeout, str); /*rockaux.c*/ + lua_pushinteger(L, action); + return 1; +} /* DEVICE AUDIO / PLAYLIST CONTROL */ @@ -948,6 +956,7 @@ static const luaL_Reg rocklib[] = RB_FUNC(kbd_input), RB_FUNC(gui_syncyesno_run), RB_FUNC(do_menu), + RB_FUNC(splash_scroller), /* DEVICE AUDIO / SOUND / PLAYLIST CONTROL */ RB_FUNC(audio), -- cgit v1.2.3