aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/tui/ChangeLog8
-rw-r--r--gdb/tui/tui.c2
-rw-r--r--gdb/tui/tuiWin.c26
3 files changed, 29 insertions, 7 deletions
diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog
index 01ac7d9..32df100 100644
--- a/gdb/tui/ChangeLog
+++ b/gdb/tui/ChangeLog
@@ -1,5 +1,13 @@
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
use tuiShowFrameInfo instead of tuiSetLocatorContent.
* tuiLayout.h (showLayout): Remove.
diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c
index 33232a5..8ead02f 100644
--- a/gdb/tui/tui.c
+++ b/gdb/tui/tui.c
@@ -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
diff --git a/gdb/tui/tuiWin.c b/gdb/tui/tuiWin.c
index dccdcd7..82c3d49 100644
--- a/gdb/tui/tuiWin.c
+++ b/gdb/tui/tuiWin.c
@@ -52,6 +52,7 @@
#include "breakpoint.h"
#include "frame.h"
#include "cli/cli-cmds.h"
+#include "top.h"
#include "tui.h"
#include "tuiData.h"
@@ -64,11 +65,6 @@
#include "tuiDataWin.h"
/*******************************
-** External Declarations
-********************************/
-extern void init_page_info ();
-
-/*******************************
** Static Local Decls
********************************/
static void _makeVisibleWithNewHeight (TuiWinInfoPtr);
@@ -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",