summaryrefslogtreecommitdiff
path: root/extra/config/lxdialog/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'extra/config/lxdialog/util.c')
-rw-r--r--extra/config/lxdialog/util.c27
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();
}