|
@@ -276,8 +276,8 @@ int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...)
|
|
|
|
|
|
total_width = max(msg_width, btns_width);
|
|
total_width = max(msg_width, btns_width);
|
|
/* place dialog in middle of screen */
|
|
/* place dialog in middle of screen */
|
|
- y = (LINES-(msg_lines+4))/2;
|
|
|
|
- x = (COLS-(total_width+4))/2;
|
|
|
|
|
|
+ y = (getmaxy(stdscr)-(msg_lines+4))/2;
|
|
|
|
+ x = (getmaxx(stdscr)-(total_width+4))/2;
|
|
|
|
|
|
|
|
|
|
/* create the windows */
|
|
/* create the windows */
|
|
@@ -387,8 +387,8 @@ int dialog_inputbox(WINDOW *main_window,
|
|
prompt_width = max(prompt_width, strlen(title));
|
|
prompt_width = max(prompt_width, strlen(title));
|
|
|
|
|
|
/* place dialog in middle of screen */
|
|
/* place dialog in middle of screen */
|
|
- y = (LINES-(prompt_lines+4))/2;
|
|
|
|
- x = (COLS-(prompt_width+4))/2;
|
|
|
|
|
|
+ y = (getmaxy(stdscr)-(prompt_lines+4))/2;
|
|
|
|
+ x = (getmaxx(stdscr)-(prompt_width+4))/2;
|
|
|
|
|
|
strncpy(result, init, *result_len);
|
|
strncpy(result, init, *result_len);
|
|
|
|
|
|
@@ -545,7 +545,7 @@ void show_scroll_win(WINDOW *main_window,
|
|
{
|
|
{
|
|
int res;
|
|
int res;
|
|
int total_lines = get_line_no(text);
|
|
int total_lines = get_line_no(text);
|
|
- int x, y;
|
|
|
|
|
|
+ int x, y, lines, columns;
|
|
int start_x = 0, start_y = 0;
|
|
int start_x = 0, start_y = 0;
|
|
int text_lines = 0, text_cols = 0;
|
|
int text_lines = 0, text_cols = 0;
|
|
int total_cols = 0;
|
|
int total_cols = 0;
|
|
@@ -556,6 +556,8 @@ void show_scroll_win(WINDOW *main_window,
|
|
WINDOW *pad;
|
|
WINDOW *pad;
|
|
PANEL *panel;
|
|
PANEL *panel;
|
|
|
|
|
|
|
|
+ getmaxyx(stdscr, lines, columns);
|
|
|
|
+
|
|
/* find the widest line of msg: */
|
|
/* find the widest line of msg: */
|
|
total_lines = get_line_no(text);
|
|
total_lines = get_line_no(text);
|
|
for (i = 0; i < total_lines; i++) {
|
|
for (i = 0; i < total_lines; i++) {
|
|
@@ -569,14 +571,14 @@ void show_scroll_win(WINDOW *main_window,
|
|
(void) wattrset(pad, attributes[SCROLLWIN_TEXT]);
|
|
(void) wattrset(pad, attributes[SCROLLWIN_TEXT]);
|
|
fill_window(pad, text);
|
|
fill_window(pad, text);
|
|
|
|
|
|
- win_lines = min(total_lines+4, LINES-2);
|
|
|
|
- win_cols = min(total_cols+2, COLS-2);
|
|
|
|
|
|
+ win_lines = min(total_lines+4, lines-2);
|
|
|
|
+ win_cols = min(total_cols+2, columns-2);
|
|
text_lines = max(win_lines-4, 0);
|
|
text_lines = max(win_lines-4, 0);
|
|
text_cols = max(win_cols-2, 0);
|
|
text_cols = max(win_cols-2, 0);
|
|
|
|
|
|
/* place window in middle of screen */
|
|
/* place window in middle of screen */
|
|
- y = (LINES-win_lines)/2;
|
|
|
|
- x = (COLS-win_cols)/2;
|
|
|
|
|
|
+ y = (lines-win_lines)/2;
|
|
|
|
+ x = (columns-win_cols)/2;
|
|
|
|
|
|
win = newwin(win_lines, win_cols, y, x);
|
|
win = newwin(win_lines, win_cols, y, x);
|
|
keypad(win, TRUE);
|
|
keypad(win, TRUE);
|