/* Specific command window processing.
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
- Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+ Free Software Foundation, Inc.
Contributed by Hewlett-Packard Company.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#include "defs.h"
#include <ctype.h>
** PUBLIC FUNCTIONS **
******************************************/
-/* Dispatch the correct tui function based upon the control character. */
+/* Dispatch the correct tui function based upon the control
+ character. */
unsigned int
tui_dispatch_ctrl_char (unsigned int ch)
{
struct tui_win_info *win_info = tui_win_with_focus ();
- WINDOW *w = TUI_CMD_WIN->generic.handle;
- /*
- ** If the command window has the logical focus, or no-one does
- ** assume it is the command window; in this case, pass the
- ** character on through and do nothing here.
- */
+ /* Handle the CTRL-L refresh for each window. */
+ if (ch == '\f')
+ tui_refresh_all_win ();
+
+ /* If the command window has the logical focus, or no-one does
+ assume it is the command window; in this case, pass the character
+ on through and do nothing here. */
if (win_info == NULL || win_info == TUI_CMD_WIN)
return ch;
else
int i;
char *term;
- /* If this is an xterm, page next/prev keys aren't returned
- ** by keypad as a single char, so we must handle them here.
- ** Seems like a bug in the curses library?
- */
+ /* If this is an xterm, page next/prev keys aren't returned by
+ keypad as a single char, so we must handle them here. Seems
+ like a bug in the curses library? */
term = (char *) getenv ("TERM");
if (term)
{
for (i = 0; term[i]; i++)
term[i] = toupper (term[i]);
- if ((strcmp (term, "XTERM") == 0) && key_is_start_sequence (ch))
+ if ((strcmp (term, "XTERM") == 0)
+ && key_is_start_sequence (ch))
{
unsigned int page_ch = 0;
unsigned int tmp_char;
+ WINDOW *w = TUI_CMD_WIN->generic.handle;
tmp_char = 0;
while (!key_is_end_sequence (tmp_char))
tui_scroll_right (win_info, 1);
break;
case '\f':
- tui_refresh_all_win ();
- break;
+ break;
default:
c = ch_copy;
break;