diff options
-rw-r--r-- | gdb/tui/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/tui/tui.c | 2 | ||||
-rw-r--r-- | gdb/tui/tuiWin.c | 26 |
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", |