static int popup_menu__run(struct ui_browser *menu) { int key; if (ui_browser__show(menu, " ", "ESC: exit, ENTER|->: Select option") < 0) return -1; while (1) { key = ui_browser__run(menu, 0); switch (key) { case K_RIGHT: case K_ENTER: key = menu->index; break; case K_LEFT: case K_ESC: case 'q': case CTRL('c'): key = -1; break; default: continue; } break; } ui_browser__hide(menu); return key; }
static int script_browser__run(struct perf_script_browser *browser) { int key; if (ui_browser__show(&browser->b, browser->script_name, "Press <- or ESC to exit") < 0) return -1; while (1) { key = ui_browser__run(&browser->b, 0); /* We can add some special key handling here if needed */ break; } ui_browser__hide(&browser->b); return key; }
void ui_browser__handle_resize(struct ui_browser *browser) { ui__refresh_dimensions(false); ui_browser__show(browser, browser->title, ui_helpline__current); ui_browser__refresh(browser); }