* tuiWin.c (tui_update_gdb_sizes): New function to tell gdb what

is the size of command window.
	(tuiResizeAll): Call it instead of init_page_info.
	* tui.c (tui_enable): Call it to resize to TUI command window.
	(tui_disable): Likewise for plain screen.
This commit is contained in:
Stephane Carrez 2002-08-24 16:43:08 +00:00
parent c7037be10d
commit 3e752b0491
3 changed files with 29 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2002-08-24 Stephane Carrez <stcarrez@nerim.fr>
* tuiWin.c (tui_update_gdb_sizes): New function to tell gdb what
is the size of command window.
(tuiResizeAll): Call it instead of init_page_info.
* tui.c (tui_enable): Call it to resize to TUI command window.
(tui_disable): Likewise for plain screen.
2002-08-24 Stephane Carrez <stcarrez@nerim.fr>
* tui.c (tui_enable): Use tuiSetLayout instead of showLayout and

View File

@ -262,6 +262,7 @@ tui_enable (void)
tui_version = 1;
tui_active = 1;
refresh ();
tui_update_gdb_sizes ();
}
/* Leave the tui mode.
@ -286,6 +287,7 @@ tui_disable (void)
tui_version = 0;
tui_active = 0;
tui_update_gdb_sizes ();
}
/* Wrapper on top of free() to ensure that input address

View File

@ -52,6 +52,7 @@
#include "breakpoint.h"
#include "frame.h"
#include "cli/cli-cmds.h"
#include "top.h"
#include "tui.h"
#include "tuiData.h"
@ -63,11 +64,6 @@
#include "tuiSourceWin.h"
#include "tuiDataWin.h"
/*******************************
** External Declarations
********************************/
extern void init_page_info ();
/*******************************
** Static Local Decls
********************************/
@ -396,6 +392,22 @@ Usage: w <#lines>\n");
add_show_from_set (c, &tui_showlist);
}
/* Update gdb's knowledge of the terminal size. */
void
tui_update_gdb_sizes ()
{
char cmd[50];
extern int screenheight, screenwidth; /* in readline */
/* Set to TUI command window dimension or use readline values. */
sprintf (cmd, "set width %d",
tui_active ? cmdWin->generic.width : screenwidth);
execute_command (cmd, 0);
sprintf (cmd, "set height %d",
tui_active ? cmdWin->generic.height : screenheight);
execute_command (cmd, 0);
}
/*
** tuiSetWinFocusTo
@ -618,7 +630,7 @@ tuiResizeAll (void)
/* turn keypad off while we resize */
if (winWithFocus != cmdWin)
keypad (cmdWin->generic.handle, FALSE);
init_page_info ();
tui_update_gdb_sizes ();
setTermHeightTo (screenheight);
setTermWidthTo (screenwidth);
if (curLayout == SRC_DISASSEM_COMMAND ||
@ -1039,7 +1051,7 @@ The window name specified must be valid and visible.\n");
warning ("Invalid window height specified.\n%s",
WIN_HEIGHT_USAGE);
else
init_page_info ();
tui_update_gdb_sizes ();
}
else
warning ("Invalid window height specified.\n%s",