1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
William Wilgus 2020-10-02 14:30:41 -04:00 committed by William Wilgus
parent 1916aca7f3
commit 80c3b84e08
5 changed files with 141 additions and 3 deletions

View file

@ -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),