#include <newt.h> | |
#include <signal.h> | |
#include <stdbool.h> | |
#include "../cache.h" | |
#include "../debug.h" | |
#include "browser.h" | |
#include "helpline.h" | |
static void newt_suspend(void *d __used) | |
{ | |
newtSuspend(); | |
raise(SIGTSTP); | |
newtResume(); | |
} | |
void setup_browser(void) | |
{ | |
if (!isatty(1) || !use_browser || dump_trace) { | |
use_browser = 0; | |
setup_pager(); | |
return; | |
} | |
use_browser = 1; | |
newtInit(); | |
newtCls(); | |
newtSetSuspendCallback(newt_suspend, NULL); | |
ui_helpline__init(); | |
ui_browser__init(); | |
} | |
void exit_browser(bool wait_for_ok) | |
{ | |
if (use_browser > 0) { | |
if (wait_for_ok) { | |
char title[] = "Fatal Error", ok[] = "Ok"; | |
newtWinMessage(title, ok, ui_helpline__last_msg); | |
} | |
newtFinished(); | |
} | |
} |