diff options
Diffstat (limited to 'extra/config/lxdialog/util.c')
-rw-r--r-- | extra/config/lxdialog/util.c | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/extra/config/lxdialog/util.c b/extra/config/lxdialog/util.c index a1a1354ba..86d95cca4 100644 --- a/extra/config/lxdialog/util.c +++ b/extra/config/lxdialog/util.c @@ -266,26 +266,41 @@ void dialog_clear(void) /* * Do some initialization for dialog */ -void init_dialog(const char *backtitle) +int init_dialog(const char *backtitle) { + int height, width; + + initscr(); /* Init curses */ + getmaxyx(stdscr, height, width); + if (height < 19 || width < 80) { + endwin(); + return -ERRDISPLAYTOOSMALL; + } + dlg.backtitle = backtitle; color_setup(getenv("MENUCONFIG_COLOR")); -} -void reset_dialog(void) -{ - initscr(); /* Init curses */ keypad(stdscr, TRUE); cbreak(); noecho(); dialog_clear(); + + return 0; +} + +void set_dialog_backtitle(const char *backtitle) +{ + dlg.backtitle = backtitle; } /* * End using dialog functions. */ -void end_dialog(void) +void end_dialog(int x, int y) { + /* move cursor back to original position */ + move(y, x); + refresh(); endwin(); } |