gdb: New 'tui enable' and 'tui disable' commands.

Add new commands to specifically enable and disable tui mode.  This is
in addition to the readline bindings, but might be easier for a user to
discover if they accidentally end up in tui mode.

gdb/ChangeLog:

	* NEWS: Mention 'tui enable' and 'tui disable'.
	* tui/tui.c (tui_enable_command): New function.
	(tui_disable_command): New function.
	(_initialize_tui): New function.

gdb/doc/ChangeLog:

	* gdb.texinfo (TUI): Include 'tui enable' in the introduction.
	(TUI Commands): Add 'tui enable' and 'tui disable' details.
This commit is contained in:
Andrew Burgess 2015-05-22 10:07:42 +02:00
parent 158bf1b4aa
commit a4ea0946c3
5 changed files with 63 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2015-05-22 Andrew Burgess <andrew.burgess@embecosm.com>
* NEWS: Mention 'tui enable' and 'tui disable'.
* tui/tui.c (tui_enable_command): New function.
(tui_disable_command): New function.
(_initialize_tui): New function.
2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com> 2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
* tui/tui-regs.c (tui_reg_next_command): Use NULL not 0. * tui/tui-regs.c (tui_reg_next_command): Use NULL not 0.

View File

@ -82,6 +82,10 @@ record bts
compile print compile print
Evaluate expression by using the compiler and print result. Evaluate expression by using the compiler and print result.
tui enable
tui disable
Explicit commands for enabling and disabling tui mode.
* New options * New options
set max-completions set max-completions

View File

@ -1,3 +1,8 @@
2015-05-22 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.texinfo (TUI): Include 'tui enable' in the introduction.
(TUI Commands): Add 'tui enable' and 'tui disable' details.
2015-05-16 Doug Evans <xdje42@gmail.com> 2015-05-16 Doug Evans <xdje42@gmail.com>
* guile.texi (Memory Ports in Guile): Document support for unbuffered * guile.texi (Memory Ports in Guile): Document support for unbuffered

View File

@ -24669,8 +24669,9 @@ is available.
The TUI mode is enabled by default when you invoke @value{GDBN} as The TUI mode is enabled by default when you invoke @value{GDBN} as
@samp{@value{GDBP} -tui}. @samp{@value{GDBP} -tui}.
You can also switch in and out of TUI mode while @value{GDBN} runs by You can also switch in and out of TUI mode while @value{GDBN} runs by
using various TUI commands and key bindings, such as @kbd{C-x C-a}. using various TUI commands and key bindings, such as @command{tui
@xref{TUI Keys, ,TUI Key Bindings}. enable} or @kbd{C-x C-a}. @xref{TUI Commands, ,TUI Commands} and
@ref{TUI Keys, ,TUI Key Bindings}.
@node TUI Overview @node TUI Overview
@section TUI Overview @section TUI Overview
@ -24944,6 +24945,16 @@ these commands will fail with an error, because it would not be
possible or desirable to enable curses window management. possible or desirable to enable curses window management.
@table @code @table @code
@item tui enable
@kindex tui enable
Activate TUI mode. The last active TUI window layout will be used if
TUI mode has prevsiouly been used in the current debugging session,
otherwise a default layout is used.
@item tui disable
@kindex tui disable
Disable TUI mode, returning to the console interpreter.
@item info win @item info win
@kindex info win @kindex info win
List and give the size of all displayed windows. List and give the size of all displayed windows.

View File

@ -540,6 +540,22 @@ tui_disable (void)
tui_update_gdb_sizes (); tui_update_gdb_sizes ();
} }
/* Command wrapper for enabling tui mode. */
static void
tui_enable_command (char *args, int from_tty)
{
tui_enable ();
}
/* Command wrapper for leaving tui mode. */
static void
tui_disable_command (char *args, int from_tty)
{
tui_disable ();
}
void void
strcat_to_buf (char *buf, int buflen, strcat_to_buf (char *buf, int buflen,
const char *item_to_add) const char *item_to_add)
@ -652,3 +668,21 @@ tui_get_command_dimension (unsigned int *width,
*height = TUI_CMD_WIN->generic.height; *height = TUI_CMD_WIN->generic.height;
return 1; return 1;
} }
/* Provide a prototype to silence -Wmissing-prototypes. */
extern initialize_file_ftype _initialize_tui;
void
_initialize_tui (void)
{
struct cmd_list_element **tuicmd;
tuicmd = tui_get_cmd_list ();
add_cmd ("enable", class_tui, tui_enable_command,
_("Enable TUI display mode."),
tuicmd);
add_cmd ("disable", class_tui, tui_disable_command,
_("Disable TUI display mode."),
tuicmd);
}