# vile:awkmode
BEGIN {
print "/****************************************************************************"
- print " * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *"
+ print " * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *"
print " * *"
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
print " * copy of this software and associated documentation files (the *"
print "/* and: Thomas E. Dickey 1995-on */"
print "/****************************************************************************/"
print ""
- print "/* $Id: MKterm.h.awk.in,v 1.50 2008/05/24 23:13:59 tom Exp $ */"
+ print "/* $Id: MKterm.h.awk.in,v 1.58 2010/01/09 19:53:26 tom Exp $ */"
print ""
print "/*"
print "** term.h -- Definition of struct term"
print "#define NCURSES_TERM_H_incl 1"
print ""
print "#undef NCURSES_VERSION"
- print "#define NCURSES_VERSION \"5.7\""
+ print "#define NCURSES_VERSION \"5.9\""
print ""
print "#include <ncurses_dll.h>"
print ""
print ""
print "#else /* !HAVE_TERMIO_H */"
print ""
+ print "#if __MINGW32__"
+ print "# include <ncurses_mingw.h>"
+ print "# define TTY struct termios"
+ print "#else"
print "#undef TERMIOS"
print "#include <sgtty.h>"
print "#include <sys/ioctl.h>"
print "#define TTY struct sgttyb"
- print ""
+ print "#endif /* MINGW32 */"
print "#endif /* HAVE_TERMIO_H */"
print ""
print "#endif /* HAVE_TERMIOS_H */"
print " char * _termname; /* used for termname() */"
print "} TERMINAL;"
print ""
- print "#if 0 || 0"
+ print "#if 0 && !0"
+ print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+ print "#elif 0"
print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
+ print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
+ print "#else"
+ print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+ print "#endif"
+ print ""
+ print "#if 0 || 0"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
print ""
- print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
print ""
print "#else"
print ""
- print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
- print ""
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
print "#endif"
print ""
+ print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
+ print ""
print "#endif /* __NCURSES_H */"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
print "#endif /* NCURSES_TERMCAP_H_incl */"
print ""
+ print "/*"
+ print " * Include curses.h before term.h to enable these extensions."
+ print " */"
+ print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
+ print ""
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);"
+ print ""
+ print "#if 1 /* NCURSES_TPARM_VARARGS */"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
+ print "#else"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
+ print "#endif"
+ print ""
+ print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_CONST char *, char **);"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
+ print ""
+ print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
+ print ""
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
+ print "#endif /* NCURSES_SP_FUNCS */"
+ print ""
print "#ifdef __cplusplus"
print "}"
print "#endif"
/****************************************************************************
- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: curses.h.in,v 1.187 2008/08/30 20:11:29 tom Exp $ */
+/* $Id: curses.h.in,v 1.220 2011/01/22 19:47:20 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
#define CURSES 1
#define CURSES_H 1
-/* This should be defined for the enhanced functionality to be visible.
- * However, some of the wide-character (enhanced) functionality is missing.
- * So we do not define it (yet).
-#define _XOPEN_CURSES 1
- */
-
/* These are defined only in curses.h, and are used for conditional compiles */
#define NCURSES_VERSION_MAJOR 5
-#define NCURSES_VERSION_MINOR 7
-#define NCURSES_VERSION_PATCH 20081102
+#define NCURSES_VERSION_MINOR 9
+#define NCURSES_VERSION_PATCH 20110404
/* This is defined in more than one ncurses header, for identification */
#undef NCURSES_VERSION
-#define NCURSES_VERSION "5.7"
+#define NCURSES_VERSION "5.9"
/*
* Identify the mouse encoding version.
#endif
/*
+ * The reentrant code relies on the opaque setting, but adds features.
+ */
+#ifndef NCURSES_REENTRANT
+#define NCURSES_REENTRANT 0
+#endif
+
+/*
+ * Control whether bindings for interop support are added.
+ */
+#undef NCURSES_INTEROP_FUNCS
+#define NCURSES_INTEROP_FUNCS 0
+
+/*
* The internal type used for window dimensions.
*/
#undef NCURSES_SIZE_T
typedef unsigned long mmask_t;
#endif
+/*
+ * We need FILE, etc. Include this before checking any feature symbols.
+ */
#include <stdio.h>
-#include <unctrl.h>
+
+/*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+ * conflicting) when _XOPEN_SOURCE is 500 or greater.
+ */
+#undef NCURSES_WIDECHAR
+#if defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)
+#define NCURSES_WIDECHAR
+#endif
+
#include <stdarg.h> /* we need va_list */
-#ifdef _XOPEN_SOURCE_EXTENDED
+#ifdef NCURSES_WIDECHAR
#include <stddef.h> /* we want wchar_t */
-#endif /* _XOPEN_SOURCE_EXTENDED */
+#endif
/* X/Open and SVr4 specify that curses implements 'bool'. However, C++ may also
* implement it. If so, we must use the C++ compiler's type to avoid conflict
/* line graphics */
-#if 0 || 0
+#if 0 || NCURSES_REENTRANT
NCURSES_WRAPPED_VAR(chtype*, acs_map);
-#define acs_map (_nc_acs_map())
+#define acs_map NCURSES_PUBLIC_VAR(acs_map())
#else
extern NCURSES_EXPORT_VAR(chtype) acs_map[];
#endif
typedef chtype attr_t; /* ...must be at least as wide as chtype */
-#ifdef _XOPEN_SOURCE_EXTENDED
+#ifdef NCURSES_WIDECHAR
#if 0
#ifdef mblen /* libutf8.h defines it w/o undefining first */
typedef unsigned int wint_t1;
#endif
+/*
+ * cchar_t stores an array of CCHARW_MAX wide characters. The first is
+ * normally a spacing character. The others are non-spacing. If those
+ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
#define CCHARW_MAX 5
typedef struct
{
wchar_t chars[CCHARW_MAX];
#if 0
#undef NCURSES_EXT_COLORS
-#define NCURSES_EXT_COLORS 20081102
+#define NCURSES_EXT_COLORS 20110404
int ext_color; /* color pair, must be more than 16-bits */
#endif
}
cchar_t;
-#endif /* _XOPEN_SOURCE_EXTENDED */
+#endif /* NCURSES_WIDECHAR */
#if !NCURSES_OPAQUE
struct ldat;
NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
-#ifdef _XOPEN_SOURCE_EXTENDED
+#ifdef NCURSES_WIDECHAR
cchar_t _bkgrnd; /* current background char/attribute pair */
#if 0
int _color; /* current color-pair for non-space character */
_nc_event *events[1];
} _nc_eventlist;
-extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* experimental */
-extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */
+extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *); /* experimental */
+extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *);/* experimental */
#endif /* NCURSES_WGETCH_EVENTS */
#endif /* NCURSES_EXT_FUNCS */
#endif
/*
+ * Curses uses a helper function. Define our type for this to simplify
+ * extending it for the sp-funcs feature.
+ */
+typedef int (*NCURSES_OUTC)(int);
+
+/*
* Function prototypes. This is the complete X/Open Curses list of required
* functions. Those marked `generated' will have sources generated from the
* macro definitions later in this file, in order to satisfy XPG4.2
extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */
extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */
extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */
-extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */
+extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */
extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */
extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */
GCC_PRINTFLIKE(4,5);
GCC_SCANFLIKE(4,5);
extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */
extern NCURSES_EXPORT(int) napms (int); /* implemented */
-extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */
+extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */
extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */
-extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */
+extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */
extern NCURSES_EXPORT(int) nl (void); /* implemented */
extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */
extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */
extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */
extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */
extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */
-extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */
+extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */
extern NCURSES_EXPORT(int) standout (void); /* generated */
extern NCURSES_EXPORT(int) standend (void); /* generated */
extern NCURSES_EXPORT(int) start_color (void); /* implemented */
extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */
extern NCURSES_EXPORT(void) use_env (bool); /* implemented */
extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */
-extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */
+extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC); /* implemented */
extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */
extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
#endif
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */
+
/*
* These functions are not in X/Open, but we use them in macro definitions:
*/
/*
* vid_attr() was implemented originally based on a draft of X/Open curses.
*/
-#ifndef _XOPEN_SOURCE_EXTENDED
+#ifndef NCURSES_WIDECHAR
#define vid_attr(a,pair,opts) vidattr(a)
#endif
*/
#if 1
#undef NCURSES_EXT_FUNCS
-#define NCURSES_EXT_FUNCS 20081102
+#define NCURSES_EXT_FUNCS 20110404
typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
extern NCURSES_EXPORT(bool) is_term_resized (int, int);
extern NCURSES_EXPORT(const char *) curses_version (void);
extern NCURSES_EXPORT(int) assume_default_colors (int, int);
extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) get_escdelay (void);
extern NCURSES_EXPORT(int) key_defined (const char *);
extern NCURSES_EXPORT(int) keyok (int, bool);
extern NCURSES_EXPORT(int) resize_term (int, int);
extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* generated */
+extern NCURSES_EXPORT(bool) is_pad (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* generated */
+extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
#define curses_version() NCURSES_VERSION
#endif
+/*
+ * Extra extension-functions, which pass a SCREEN pointer rather than using
+ * a global variable SP.
+ */
+#if 0
+#undef NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 20110404
+#define NCURSES_SP_NAME(name) name##_sp
+
+/* Define the sp-funcs helper function */
+#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
+typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
+
+extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC */
+
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, short, short*, short*, short*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, short, short, short, short); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, short, short, short); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, NCURSES_CONST char *, FILE *, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, short, short*, short*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int)); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, short, void*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, short); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const char *, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+#if 1
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */ /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
+#endif
+#else
+#undef NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 0
+#define NCURSES_SP_NAME(name) name
+#define NCURSES_SP_OUTC NCURSES_OUTC
+#endif
+
/* attributes */
#define NCURSES_ATTR_SHIFT 8
/* It seems older SYSV curses versions define these */
#if !NCURSES_OPAQUE
-#define getattrs(win) ((win) ? (win)->_attrs : A_NORMAL)
+#define getattrs(win) NCURSES_CAST(int, (win) ? (win)->_attrs : A_NORMAL)
#define getcurx(win) ((win) ? (win)->_curx : ERR)
#define getcury(win) ((win) ? (win)->_cury : ERR)
#define getbegx(win) ((win) ? (win)->_begx : ERR)
#define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
#if !NCURSES_OPAQUE
-#if defined(_XOPEN_SOURCE_EXTENDED) && 0
-#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \
- (win)->_attrs = (at))
+#if defined(NCURSES_WIDECHAR) && 0
+#define wattrset(win,at) ((win) \
+ ? ((win)->_color = PAIR_NUMBER(at), \
+ (win)->_attrs = NCURSES_CAST(attr_t, at), \
+ OK) \
+ : ERR)
#else
-#define wattrset(win,at) ((win)->_attrs = (at))
+#define wattrset(win,at) ((win) \
+ ? ((win)->_attrs = NCURSES_CAST(attr_t, at), \
+ OK) \
+ : ERR)
#endif
#endif /* NCURSES_OPAQUE */
* These apply to the first 256 color pairs.
*/
#define COLOR_PAIR(n) NCURSES_BITS(n, 0)
-#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
/*
* pseudo functions for standard screen
#define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
#if !NCURSES_OPAQUE
-#if defined(_XOPEN_SOURCE_EXTENDED) && 0
+#if defined(NCURSES_WIDECHAR) && 0
#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \
(win)->_color = (p), \
OK)
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
- (void)((p) != (void *)0 && (*(p) = (win)->_color)), \
+ (void)((p) != (void *)0 && (*(p) = (short)(win)->_color)), \
OK)
#else
-#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK)
+#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p)), OK)
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
- (void)((p) != (void *)0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
+ (void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))), \
OK)
#endif
#endif /* NCURSES_OPAQUE */
*/
#if 1
#if !NCURSES_OPAQUE
-#define is_cleared(win) ((win)->_clear)
-#define is_idcok(win) ((win)->_idcok)
-#define is_idlok(win) ((win)->_idlok)
-#define is_immedok(win) ((win)->_immed)
-#define is_keypad(win) ((win)->_use_keypad)
-#define is_leaveok(win) ((win)->_leaveok)
-#define is_nodelay(win) ((win)->_delay == 0)
-#define is_notimeout(win) ((win)->_notimeout)
-#define is_scrollok(win) ((win)->_scroll)
-#define is_syncok(win) ((win)->_sync)
+#define is_cleared(win) ((win) ? (win)->_clear : FALSE)
+#define is_idcok(win) ((win) ? (win)->_idcok : FALSE)
+#define is_idlok(win) ((win) ? (win)->_idlok : FALSE)
+#define is_immedok(win) ((win) ? (win)->_immed : FALSE)
+#define is_keypad(win) ((win) ? (win)->_use_keypad : FALSE)
+#define is_leaveok(win) ((win) ? (win)->_leaveok : FALSE)
+#define is_nodelay(win) ((win) ? ((win)->_delay == 0) : FALSE)
+#define is_notimeout(win) ((win) ? (win)->_notimeout : FALSE)
+#define is_pad(win) ((win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
+#define is_scrollok(win) ((win) ? (win)->_scroll : FALSE)
+#define is_subwin(win) ((win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
+#define is_syncok(win) ((win) ? (win)->_sync : FALSE)
#define wgetparent(win) ((win) ? (win)->_parent : 0)
#define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
#endif
* It gives the ESC expire time in milliseconds.
* b. ttytype is needed for backward compatibility
*/
-#if 0
+#if NCURSES_REENTRANT
NCURSES_WRAPPED_VAR(WINDOW *, curscr);
NCURSES_WRAPPED_VAR(WINDOW *, newscr);
#ifndef NC_CONFIG_H
#define NC_CONFIG_H
-#define SYSTEM_NAME "dragonfly2.5.1"
+#define SYSTEM_NAME "dragonfly3.1"
#define CC_HAS_PROTOS 1
#if 0
#include <stdlib.h>
#define MIXEDCASE_FILENAMES 1
#define USE_SYSMOUSE 1
#define USE_DATABASE 1
-#define TERMINFO_DIRS "/usr/local/share/terminfo"
-#define TERMINFO "/usr/local/share/terminfo"
+#define TERMINFO_DIRS "/home/marino/share/terminfo"
+#define TERMINFO "/home/marino/share/terminfo"
#define HAVE_BIG_CORE 1
#define USE_TERMCAP 1
#define TERMPATH "/etc/termcap:/usr/share/misc/termcap"
#define HAVE_HAS_KEY 1
#define HAVE_RESIZETERM 1
#define HAVE_RESIZE_TERM 1
+#define HAVE_TERM_ENTRY_H 1
#define HAVE_USE_DEFAULT_COLORS 1
#define HAVE_WRESIZE 1
#define NCURSES_EXT_FUNCS 1
#define USE_SIGWINCH 1
#define USE_ASSUMED_COLOR 1
#define USE_HASHMAP 1
+#define NCURSES_WRAP_PREFIX "_nc_"
#define GCC_SCANF 1
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
#define GCC_PRINTF 1
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
#define GCC_UNUSED __attribute__((unused))
#define GCC_NORETURN __attribute__((noreturn))
#define NDEBUG 1
#define HAVE_GETOPT_H 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE_H 1
+#define HAVE_MATH_H 1
#define HAVE_POLL_H 1
#define HAVE_SYS_IOCTL_H 1
#define HAVE_SYS_PARAM_H 1
#define RETSIGTYPE void
#define HAVE_SIZECHANGE 1
#define HAVE_WORKING_POLL 1
+#define HAVE_VA_COPY 1
+#define HAVE___VA_COPY 1
+#define HAVE_UNISTD_H 1
+#define HAVE_FORK 1
+#define HAVE_VFORK 1
+#define HAVE_WORKING_VFORK 1
+#define HAVE_WORKING_FORK 1
+#define USE_OPENPTY_HEADER <libutil.h>
+#define USE_XTERM_PTY 1
#define HAVE_IOSTREAM 1
#define HAVE_TYPEINFO 1
#define IOSTREAM_NAMESPACE 1
#define HAVE_FORM_H 1
#define HAVE_LIBFORM 1
#define NCURSES_PATHSEP ':'
-#define NCURSES_VERSION_STRING "5.7.20081102"
+#define NCURSES_VERSION_STRING "5.9.20110404"
#include <ncurses_def.h>
/****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
-/* $Id: ncurses_dll.h,v 1.6 2007/03/10 19:21:49 tom Exp $ */
+/* $Id: ncurses_dll.h.in,v 1.8 2009/04/04 22:26:27 tom Exp $ */
#ifndef NCURSES_DLL_H_incl
#define NCURSES_DLL_H_incl 1
+/*
+ * For reentrant code, we map the various global variables into SCREEN by
+ * using functions to access them.
+ */
+#define NCURSES_PUBLIC_VAR(name) _nc_##name
+#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
+
/* no longer needed on cygwin or mingw, thanks to auto-import */
/* but this structure may be useful at some point for an MSVC build */
/* so, for now unconditionally define the important flags */
#undef NCURSES_DLL
#define NCURSES_STATIC
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(__MINGW32__)
# if defined(NCURSES_DLL)
# if defined(NCURSES_STATIC)
# undef NCURSES_STATIC
# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
#endif
-/*
- * For reentrant code, we map the various global variables into SCREEN by
- * using functions to access them.
- */
-#define NCURSES_PUBLIC_VAR(name) _nc_##name
-#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
-
#endif /* NCURSES_DLL_H_incl */
+++ /dev/null
-/*
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)pathnames.h 8.1 (Berkeley) 6/4/93
- * $FreeBSD: src/lib/libncurses/pathnames.h,v 1.1 1999/08/30 07:57:50 peter Exp $
- * $DragonFly: src/lib/libncurses/include/pathnames.h,v 1.1 2005/03/12 19:13:54 eirikn Exp $
- */
-
-#define _PATH_DEF ".termcap /usr/share/misc/termcap"
-#define _PATH_DEF_SEC "/usr/share/misc/termcap"
#define NCURSES_TERMCAP_H_incl 1
#undef NCURSES_VERSION
-#define NCURSES_VERSION "5.7"
+#define NCURSES_VERSION "5.9"
#include <ncurses_dll.h>
/****************************************************************************
- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* as ^?. Printable characters are displayed as is.
*/
-/* $Id: unctrl.h.in,v 1.10 2001/03/24 21:53:25 tom Exp $ */
-/* $DragonFly: src/lib/libncurses/include/unctrl.h,v 1.1 2005/03/12 19:13:54 eirikn Exp $ */
+/* $Id: unctrl.h.in,v 1.11 2009/04/18 21:00:52 tom Exp $ */
#ifndef NCURSES_UNCTRL_H_incl
#define NCURSES_UNCTRL_H_incl 1
#undef NCURSES_VERSION
-#define NCURSES_VERSION "5.4"
+#define NCURSES_VERSION "5.9"
#ifdef __cplusplus
extern "C" {
#undef unctrl
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
+#if 0
+NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
+#endif
+
#ifdef __cplusplus
}
#endif
fty_alnum.c \
fty_alpha.c \
fty_enum.c \
+ fty_generic.c \
fty_int.c \
fty_ipv4.c \
fty_num.c \
comp_captab.c: make_hash
sh -e ${NCURSESTINFODIR}/MKcaptab.sh awk 0 ${NCURSESTINFODIR}/MKcaptab.awk ${TERMINFO_CAPS} > $@
-make_hash: ${NCURSESTINFODIR}/comp_hash.c
- ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} -DMAIN_PROGRAM ${NXLDLIBS} -o ${.TARGET} ${NCURSESTINFODIR}/comp_hash.c
+make_hash: ${NCURSESTINFODIR}/make_hash.c
+ ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} -DMAIN_PROGRAM ${NXLDLIBS} -o ${.TARGET} ${NCURSESTINFODIR}/make_hash.c
make_hash: hashsize.h ncurses_def.h curses.h
name_match.c \
parse_entry.c \
read_entry.c \
+ read_termcap.c \
setbuf.c \
strings.c \
trim_sgr0.c \
names.c \
unctrl.c
-# Use instead of read_termcap.c.
-# From our old libtermcap.
-SRCS+= termcap.c
-
SYMLINKS+=libncurses.a ${LIBDIR}/libcurses.a
SYMLINKS+=libncurses.a ${LIBDIR}/libtinfo.a
SYMLINKS+=libncurses.a ${LIBDIR}/libmytinfo.a
INCS= term.h ${.CURDIR}/../include/termcap.h \
${.CURDIR}/../include/unctrl.h curses.h \
- ${NCURSESDIR}/include/ncurses_dll.h
+ ${.CURDIR}/../include/ncurses_dll.h
INCSLINKS=curses.h ${INCLUDEDIR}/ncurses.h
# Make the generated files depend on the headers, otherwise
+++ /dev/null
-/* A portion of this file is from ncurses: */
-/***************************************************************************
-* COPYRIGHT NOTICE *
-****************************************************************************
-* ncurses is copyright (C) 1992-1995 *
-* Zeyd M. Ben-Halim *
-* zmbenhal@netcom.com *
-* Eric S. Raymond *
-* esr@snark.thyrsus.com *
-* *
-* Permission is hereby granted to reproduce and distribute ncurses *
-* by any means and for any fee, whether alone or as part of a *
-* larger distribution, in source or in binary form, PROVIDED *
-* this notice is included with any such distribution, and is not *
-* removed from any of its header files. Mention of ncurses in any *
-* applications linked with it is highly appreciated. *
-* *
-* ncurses comes AS IS with no warranty, implied or expressed. *
-* *
-***************************************************************************/
-
-#include <curses.priv.h>
-
-#include <string.h>
-#include <term.h>
-#include <tic.h>
-#include <term_entry.h>
-
-/* The rest is from BSD */
-/*
- * Copyright (c) 1980, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/param.h>
-#include "pathnames.h"
-
-#define PBUFSIZ MAXPATHLEN /* max length of filename path */
-#define PVECSIZ 32 /* max number of names in path */
-#define TBUFSIZ 1024 /* max length of _nc_tgetent buffer */
-
-char _nc_termcap[TBUFSIZ + 1]; /* Last getcap, provided to tgetent() emul */
-
-/*
- * termcap - routines for dealing with the terminal capability data base
- *
- * BUG: Should use a "last" pointer in tbuf, so that searching
- * for capabilities alphabetically would not be a n**2/2
- * process when large numbers of capabilities are given.
- * Note: If we add a last pointer now we will screw up the
- * tc capability. We really should compile termcap.
- *
- * Essentially all the work here is scanning and decoding escapes
- * in string capabilities. We don't use stdio because the editor
- * doesn't, and because living w/o it is not hard.
- */
-
-/*
- * Get an entry for terminal name in buffer _nc_termcap from the termcap
- * file.
- */
-int
-_nc_read_termcap_entry(const char *const name, TERMTYPE *const tp)
-{
- ENTRY *ep;
- char *p;
- char *cp;
- char *dummy;
- char **fname;
- char *home;
- int i;
- char pathbuf[PBUFSIZ]; /* holds raw path of filenames */
- char *pathvec[PVECSIZ]; /* to point to names in pathbuf */
- char **pvec; /* holds usable tail of path vector */
- char *termpath;
-
- _nc_termcap[0] = '\0'; /* in case */
- dummy = NULL;
- fname = pathvec;
- pvec = pathvec;
- p = pathbuf;
- cp = getenv("TERMCAP");
- /*
- * TERMCAP can have one of two things in it. It can be the
- * name of a file to use instead of /etc/termcap. In this
- * case it better start with a "/". Or it can be an entry to
- * use so we don't have to read the file. In this case it
- * has to already have the newlines crunched out. If TERMCAP
- * does not hold a file name then a path of names is searched
- * instead. The path is found in the TERMPATH variable, or
- * becomes "$HOME/.termcap /etc/termcap" if no TERMPATH exists.
- */
- if (!cp || *cp != '/') { /* no TERMCAP or it holds an entry */
- if ( (termpath = getenv("TERMPATH")) )
- strncpy(pathbuf, termpath, PBUFSIZ);
- else {
- if ( (home = getenv("HOME")) ) {/* set up default */
- strncpy(pathbuf, home, PBUFSIZ - 1); /* $HOME first */
- pathbuf[PBUFSIZ - 2] = '\0'; /* -2 because we add a slash */
- p += strlen(pathbuf); /* path, looking in */
- *p++ = '/';
- } /* if no $HOME look in current directory */
- strncpy(p, _PATH_DEF, PBUFSIZ - (p - pathbuf));
- }
- }
- else /* user-defined name in TERMCAP */
- strncpy(pathbuf, cp, PBUFSIZ); /* still can be tokenized */
-
- /* For safety */
- if (issetugid())
- strcpy(pathbuf, _PATH_DEF_SEC);
-
- pathbuf[PBUFSIZ - 1] = '\0';
-
- *fname++ = pathbuf; /* tokenize path into vector of names */
- while (*++p)
- if (*p == ' ' || *p == ':') {
- *p = '\0';
- while (*++p)
- if (*p != ' ' && *p != ':')
- break;
- if (*p == '\0')
- break;
- *fname++ = p;
- if (fname >= pathvec + PVECSIZ) {
- fname--;
- break;
- }
- }
- *fname = (char *) 0; /* mark end of vector */
- if (cp && *cp && *cp != '/')
- if (cgetset(cp) < 0)
- return(-2);
-
- i = cgetent(&dummy, pathvec, (char *)name);
-
- if (i == 0) {
- char *pd, *ps, *tok, *s, *tcs;
- size_t len;
-
- pd = _nc_termcap;
- ps = dummy;
- if ((tok = strchr(ps, ':')) == NULL) {
- len = strlen(ps);
- if (len >= TBUFSIZ)
- i = -1;
- else
- strcpy(pd, ps);
- goto done;
- }
- len = tok - ps + 1;
- if (pd + len + 1 - _nc_termcap >= TBUFSIZ) {
- i = -1;
- goto done;
- }
- memcpy(pd, ps, len);
- ps += len;
- pd += len;
- *pd = '\0';
- tcs = pd - 1;
- for (;;) {
- while ((tok = strsep(&ps, ":")) != NULL &&
- *(tok - 2) != '\\' &&
- (*tok == '\0' || *tok == '\\' || !isgraph(UChar(*tok))))
- ;
- if (tok == NULL)
- break;
- for (s = tcs; s != NULL && s[1] != '\0';
- s = strchr(s, ':')) {
- s++;
- if (s[0] == tok[0] && s[1] == tok[1])
- goto skip_it;
- }
- len = strlen(tok);
- if (pd + len + 1 - _nc_termcap >= TBUFSIZ) {
- i = -1;
- break;
- }
- memcpy(pd, tok, len);
- pd += len;
- *pd++ = ':';
- *pd = '\0';
- skip_it: ;
- }
- }
-done:
- if (dummy)
- free(dummy);
-
-
-/*
- * From here on is ncurses-specific glue code
- */
-
- if (i < 0)
- return(TGETENT_ERR);
-
- _nc_set_source("TERMCAP");
- _nc_read_entry_source((FILE *)NULL, _nc_termcap, FALSE, TRUE, NULLHOOK);
-
- if (_nc_head == (ENTRY *)NULL)
- return(TGETENT_ERR);
-
- /* resolve all use references */
- _nc_resolve_uses2(TRUE, FALSE);
-
- for_entry_list(ep)
- if (_nc_name_match(ep->tterm.term_names, name, "|:"))
- {
- /*
- * Make a local copy of the terminal capabilities, delinked
- * from the list.
- */
- memcpy(tp, &ep->tterm, sizeof(TERMTYPE));
- _nc_delink_entry(_nc_head, &(ep->tterm));
- free(ep);
- _nc_free_entries(_nc_head);
- _nc_head = _nc_tail = NULL; /* do not reuse! */
-
- return TGETENT_YES; /* OK */
- }
-
- _nc_free_entries(_nc_head);
- _nc_head = _nc_tail = NULL; /* do not reuse! */
- return(TGETENT_NO); /* not found */
-}
terminfo.5 \
tput.1 \
tset.1 \
- wresize.3
+ wresize.3 \
+ tabs.1 \
+ curs_sp_funcs.3 \
+ curs_variables.3 \
+ form_variables.3 \
+ term_variables.3
MLINKS+= curs_add_wch.3 add_wch.3
MLINKS+= curs_add_wch.3 echo_wchar.3
.\"***************************************************************************
-.\" Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: clear.1,v 1.6 2006/12/24 18:07:53 tom Exp $
+.\" $Id: clear.1,v 1.8 2010/12/04 18:36:44 tom Exp $
.TH @CLEAR@ 1 ""
.ds n 5
.SH NAME
-\fB@CLEAR@\fR - clear the terminal screen
+\fB@CLEAR@\fR \- clear the terminal screen
.SH SYNOPSIS
\fB@CLEAR@\fR
.br
.PP
This describes \fBncurses\fR
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2001-2002,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wch.3x,v 1.6 2006/12/24 15:22:22 tom Exp $
+.\" $Id: curs_add_wch.3x,v 1.14 2011/01/15 15:27:43 tom Exp $
.TH curs_add_wch 3X ""
+.de bP
+.IP \(bu 4
+..
.SH NAME
\fBadd_wch\fP,
\fBwadd_wch\fP,
\fBmvadd_wch\fP,
\fBmvwadd_wch\fP,
\fBecho_wchar\fP,
-\fBwecho_wchar\fP - add a complex character and rendition to a \fBcurses\fR window, then advance the cursor
+\fBwecho_wchar\fP \- add a complex character and rendition to a \fBcurses\fR window, then advance the cursor
.SH SYNOPSIS
.PP
\fB#include <curses.h>\fP
which is then advanced.
These functions perform
wrapping and special-character processing as follows:
-.TP 5
--
+.bP
If \fIwch\fP refers to a spacing character,
then any previous character at that location is removed.
A new character specified by \fIwch\fP is
placed at that location with rendition specified by \fIwch\fP.
The cursor then advances to
the next spacing character on the screen.
-.TP 5
--
+.bP
If \fIwch\fP refers to a non-spacing character,
all previous characters at that location are preserved.
The non-spacing characters of \fIwch\fP
are added to the spacing complex character,
and the rendition specified by \fIwch\fP is ignored.
-.TP 5
--
+.bP
If the character part of \fIwch\fP is
a tab, newline, backspace or other control character,
the window is updated and the cursor moves as if \fBaddch\fR were called.
that only a single character is being output is taken into consideration and,
for non-control characters, a considerable performance gain might be seen
by using the *\fBecho\fP* functions instead of their equivalents.
+.SS Line Graphics
+Like \fBaddch\fP(3X),
+\fBaddch_wch\fP accepts symbols which make it simple to draw lines and other
+frequently used special characters.
+These symbols correspond to the same VT100 line-drawing set as
+\fBaddch\fP(3X).
+.PP
+.TS
+l l l l
+_ _ _ _
+lw(1.5i) lw7 lw7 lw20.
+\fIName\fR \fIUnicode\fP \fIDefault\fR \fIDescription\fR
+WACS_BLOCK 0x25ae # solid square block
+WACS_BOARD 0x2592 # board of squares
+WACS_BTEE 0x2534 + bottom tee
+WACS_BULLET 0x00b7 o bullet
+WACS_CKBOARD 0x2592 : checker board (stipple)
+WACS_DARROW 0x2193 v arrow pointing down
+WACS_DEGREE 0x00b0 ' degree symbol
+WACS_DIAMOND 0x25c6 + diamond
+WACS_GEQUAL 0x2265 > greater-than-or-equal-to
+WACS_HLINE 0x2500 \- horizontal line
+WACS_LANTERN 0x2603 # lantern symbol
+WACS_LARROW 0x2190 < arrow pointing left
+WACS_LEQUAL 0x2264 < less-than-or-equal-to
+WACS_LLCORNER 0x2514 + lower left-hand corner
+WACS_LRCORNER 0x2518 + lower right-hand corner
+WACS_LTEE 0x2524 + left tee
+WACS_NEQUAL 0x2260 ! not-equal
+WACS_PI 0x03c0 * greek pi
+WACS_PLMINUS 0x00b1 # plus/minus
+WACS_PLUS 0x253c + plus
+WACS_RARROW 0x2192 > arrow pointing right
+WACS_RTEE 0x251c + right tee
+WACS_S1 0x23ba \- scan line 1
+WACS_S3 0x23bb \- scan line 3
+WACS_S7 0x23bc \- scan line 7
+WACS_S9 0x23bd \&_ scan line 9
+WACS_STERLING 0x00a3 f pound-sterling symbol
+WACS_TTEE 0x252c + top tee
+WACS_UARROW 0x2191 ^ arrow pointing up
+WACS_ULCORNER 0x250c + upper left-hand corner
+WACS_URCORNER 0x2510 + upper right-hand corner
+WACS_VLINE 0x2502 | vertical line
+.TE
+.PP
+The wide-character configuration of ncurses also defines symbols
+for thick- and double-lines:
+.PP
+.TS
+l l l l
+_ _ _ _
+lw(1.5i) lw7 lw7 lw20.
+\fIName\fR \fIUnicode\fP \fIDefault\fR \fIDescription\fR
+WACS_T_ULCORNER 0x250f + thick upper left corner
+WACS_T_LLCORNER 0x2517 + thick lower left corner
+WACS_T_URCORNER 0x2513 + thick upper right corner
+WACS_T_LRCORNER 0x251b + thick lower right corner
+WACS_T_LTEE 0x252b + thick tee pointing right
+WACS_T_RTEE 0x2523 + thick tee pointing left
+WACS_T_BTEE 0x253b + thick tee pointing up
+WACS_T_TTEE 0x2533 + thick tee pointing down
+WACS_T_HLINE 0x2501 - thick horizontal line
+WACS_T_VLINE 0x2503 | thick vertical line
+WACS_T_PLUS 0x254b + thick large plus or crossover
+WACS_D_ULCORNER 0x2554 + double upper left corner
+WACS_D_LLCORNER 0x255a + double lower left corner
+WACS_D_URCORNER 0x2557 + double upper right corner
+WACS_D_LRCORNER 0x255d + double lower right corner
+WACS_D_RTEE 0x2563 + double tee pointing left
+WACS_D_LTEE 0x2560 + double tee pointing right
+WACS_D_BTEE 0x2569 + double tee pointing up
+WACS_D_TTEE 0x2566 + double tee pointing down
+WACS_D_HLINE 0x2550 - double horizontal line
+WACS_D_VLINE 0x2551 | double vertical line
+WACS_D_PLUS 0x256c + double large plus or crossover
+.TE
.SH RETURN VALUES
.PP
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
.PP
Note that
may be macros.
.SH PORTABILITY
.PP
-All these functions are described in the XSI Curses standard, Issue 4.
-The defaults specified for forms-drawing characters apply in the POSIX locale.
+All of these functions are described in the XSI Curses standard, Issue 4.
+The defaults specified for line-drawing characters apply in the POSIX locale.
+.PP
+X/Open Curses makes it clear that the WACS_ symbols should be defined as
+a pointer to \fBcchar_t\fP data, e.g., in the discussion of \fBborder_set\fR.
+A few implementations are problematic:
+.bP
+NetBSD curses defines the symbols as a \fBwchar_t\fP within a \fBcchar_t\fP.
+.bP
+HPUX curses equates some of the \fIACS_\fP symbols
+to the analogous \fIWACS_\fP symbols as if the \fIACS_\fP symbols were
+wide characters.
+The misdefined symbols are the arrows
+and other symbols which are not used for line-drawing.
.PP
-XSI documents constants beginning with \fBWACS_\fP which are used for
-line-drawing.
-Those are not currently implemented in \fBncurses\fP.
+X/Open Curses does not define symbols for thick- or double-lines.
+SVr4 curses implementations defined their line-drawing symbols in
+terms of intermediate symbols.
+This implementation extends those symbols, providing new definitions
+which are not in the SVr4 implementations.
.SH SEE ALSO
.PP
\fBcurses\fR(3X),
\fBcurs_outopts\fR(3X),
\fBcurs_refresh\fR(3X),
\fBputwc\fR(3)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wchstr.3x,v 1.6 2005/01/02 01:28:49 tom Exp $
+.\" $Id: curs_add_wchstr.3x,v 1.9 2010/12/04 18:36:44 tom Exp $
.TH curs_add_wchstr 3X ""
.SH NAME
\fBadd_wchstr\fR,
into the window image structure at and after the current cursor position.
The four routines with \fIn\fR as the last
argument copy at most \fIn\fR elements, but no more than will fit on the line.
-If \fBn\fR=\fB-1\fR then the whole array is copied,
+If \fBn\fR=\fB\-1\fR then the whole array is copied,
to the maximum number of characters that will fit on the line.
.PP
The window cursor is \fInot\fR advanced.
All functions except \fBwadd_wchnstr\fR may be macros.
.SH RETURN VALUES
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH PORTABILITY
All these entry points are described in the XSI Curses standard, Issue 4.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_addchstr\fR(3X),
\fBcurs_addwstr\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp $
+.\" $Id: curs_addch.3x,v 1.32 2011/01/15 14:15:10 tom Exp $
.TH curs_addch 3X ""
.SH NAME
-\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
+\fBaddch\fR,
+\fBwaddch\fR,
+\fBmvaddch\fR,
+\fBmvwaddch\fR,
\fBechochar\fR,
-\fBwechochar\fR - add a character (with attributes) to a \fBcurses\fR window, then advance the cursor
+\fBwechochar\fR \- add a character (with attributes) to a \fBcurses\fR window, then advance the cursor
.SH SYNOPSIS
\fB#include <curses.h>\fR
.PP
ACS_DEGREE ' degree symbol
ACS_DIAMOND + diamond
ACS_GEQUAL > greater-than-or-equal-to
-ACS_HLINE - horizontal line
+ACS_HLINE \- horizontal line
ACS_LANTERN # lantern symbol
ACS_LARROW < arrow pointing left
ACS_LEQUAL < less-than-or-equal-to
ACS_PLUS + plus
ACS_RARROW > arrow pointing right
ACS_RTEE + right tee
-ACS_S1 - scan line 1
-ACS_S3 - scan line 3
-ACS_S7 - scan line 7
+ACS_S1 \- scan line 1
+ACS_S3 \- scan line 3
+ACS_S7 \- scan line 7
ACS_S9 \&_ scan line 9
ACS_STERLING f pound-sterling symbol
ACS_TTEE + top tee
(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
successful completion, unless otherwise noted in the preceding routine
descriptions.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and
\fBechochar\fR may be macros.
All these functions are described in the XSI Curses standard, Issue 4.
The defaults specified for forms-drawing characters apply in the POSIX locale.
.LP
+X/Open Curses states that the \fIACS_\fP definitions are \fBchar\fP constants.
+For the wide-character implementation (see \fBcurs_add_wch\fP),
+there are analogous \fIWACS_\fP definitions which are \fBcchar_t\fP constants.
+.LP
Some ACS symbols
(ACS_S3,
ACS_S7,
\fBcurs_inch\fR(3X),
\fBcurs_outopts\fR(3X),
\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X),
\fBputc\fR(3).
.PP
Comparable functions in the wide-character (ncursesw) library are
described in
\fBcurs_add_wch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addchstr.3x,v 1.12 2006/12/02 17:02:45 tom Exp $
+.\" $Id: curs_addchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
.TH curs_addchstr 3X ""
.na
.hy 0
\fBmvaddchstr\fR,
\fBmvaddchnstr\fR,
\fBmvwaddchstr\fR,
-\fBmvwaddchnstr\fR - add a string of characters (and attributes) to a \fBcurses\fR window
+\fBmvwaddchnstr\fR \- add a string of characters (and attributes) to a \fBcurses\fR window
.ad
.hy
.SH SYNOPSIS
These routines copy \fIchstr\fR into the window image structure at and after
the current cursor position. The four routines with \fIn\fR as the last
argument copy at most \fIn\fR elements, but no more than will fit on the line.
-If \fBn\fR=\fB-1\fR then the whole string is copied, to the maximum number of
+If \fBn\fR=\fB\-1\fR then the whole string is copied, to the maximum number of
characters that will fit on the line.
.PP
The window cursor is \fInot\fR advanced, and these routines work faster than
X/Open does not define any error conditions.
This implementation returns an error
if the window pointer is null.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all routines except \fBwaddchnstr\fR may be macros.
.SH PORTABILITY
Comparable functions in the wide-character (ncursesw) library are
described in
\fBcurs_add_wchstr\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addstr.3x,v 1.13 2005/05/15 16:17:14 tom Exp $
+.\" $Id: curs_addstr.3x,v 1.16 2010/12/04 18:36:44 tom Exp $
.TH curs_addstr 3X ""
.na
.hy 0
\fBmvaddstr\fR,
\fBmvaddnstr\fR,
\fBmvwaddstr\fR,
-\fBmvwaddnstr\fR - add a string of characters to a \fBcurses\fR window and advance cursor
+\fBmvwaddnstr\fR \- add a string of characters to a \fBcurses\fR window and advance cursor
.ad
.hy
.SH SYNOPSIS
It is similar to calling \fBwaddch\fR once for each character in the string.
The four routines with \fIn\fR as the last argument
write at most \fIn\fR characters.
-If \fIn\fR is -1, then the entire string will be added,
+If \fIn\fR is \-1, then the entire string will be added,
up to the maximum number of characters that will fit on the line,
or until a terminating null is reached.
.SH RETURN VALUE
if the window pointer is null or
if the string pointer is null or
if the corresponding calls to \fBwaddch\fP return an error.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
macros.
are not yet detected.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_addch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addwstr.3x,v 1.7 2006/02/25 20:59:08 tom Exp $
+.\" $Id: curs_addwstr.3x,v 1.10 2010/12/04 18:36:44 tom Exp $
.TH curs_addwstr 3X ""
.na
.hy 0
.PP
The four routines with \fIn\fR as the last argument
write at most \fIn\fR \fBwchar_t\fR characters.
-If \fIn\fR is -1, then the entire string will be added,
+If \fIn\fR is \-1, then the entire string will be added,
up to the maximum number of characters that will fit on the line,
or until a terminating null is reached.
.SH RETURN VALUES
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all of these routines except \fBwaddnwstr\fR may be macros.
.SH PORTABILITY
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_add_wch\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.31 2007/03/17 20:30:33 tom Exp $
+.\" $Id: curs_attr.3x,v 1.36 2010/12/04 18:36:44 tom Exp $
.TH curs_attr 3X ""
.na
.hy 0
\fBwchgat\fR,
\fBmvchgat\fR,
\fBmvwchgat\fR,
-\fBPAIR_NUMBER\fR - \fBcurses\fR character and window attribute control routines
+\fBPAIR_NUMBER\fR \- \fBcurses\fR character and window attribute control routines
.ad
.hy
.SH SYNOPSIS
.PP
The routine \fBchgat\fR changes the attributes of a given number of characters
starting at the current cursor location of \fBstdscr\fR. It does not update
-the cursor and does not perform wrapping. A character count of -1 or greater
+the cursor and does not perform wrapping. A character count of \-1 or greater
than the remaining window width means to change attributes all the way to the
end of the current line. The \fBwchgat\fR function generalizes this to any
window; the \fBmvwchgat\fR function does a cursor move before acting. In these
when changing the attributes.
Use \fBtouchwin\fR to force the screen to match the updated attributes.
.PP
+.ne 9
.TS
center ;
l l .
This implementation returns an error
if the window pointer is null.
The \fBwcolor_set\fP function returns an error if the color pair parameter
-is outside the range 0..COLOR_PAIRS-1.
+is outside the range 0..COLOR_PAIRS\-1.
This implementation also provides
\fBgetattrs\fR
for compatibility with older versions of curses.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_addch\fR(3X),
\fBcurs_addstr\fR(3X),
\fBcurs_bkgd\fR(3X),
-\fBcurs_printw\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurs_printw\fR(3X),
+\fBcurs_variables\fR(3X)
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_beep.3x,v 1.10 2005/01/08 17:55:51 tom Exp $
+.\" $Id: curs_beep.3x,v 1.12 2010/12/04 18:36:44 tom Exp $
.TH curs_beep 3X ""
.SH NAME
-\fBbeep\fR, \fBflash\fR - \fBcurses\fR bell and screen flash routines
+\fBbeep\fR, \fBflash\fR \- \fBcurses\fR bell and screen flash routines
.SH SYNOPSIS
\fB#include <curses.h>\fR
.PP
Like SVr4, it specifies that they always return \fBOK\fR.
.SH SEE ALSO
\fBcurses\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2003,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgd.3x,v 1.19 2003/12/27 18:50:40 tom Exp $
+.\" $Id: curs_bkgd.3x,v 1.22 2010/12/04 18:36:44 tom Exp $
.TH curs_bkgd 3X ""
.SH NAME
\fBbkgdset\fR, \fBwbkgdset\fR,
\fBbkgd\fR, \fBwbkgd\fR,
-\fBgetbkgd\fR - \fBcurses\fR window background manipulation routines
+\fBgetbkgd\fR \- \fBcurses\fR window background manipulation routines
.SH SYNOPSIS
\fB#include <curses.h>\fR
.PP
Note that \fBbkgdset\fR and \fBbkgd\fR may be macros.
.SH PORTABILITY
These functions are described in the XSI Curses standard, Issue 4.
-It specifies that \fBbkgd\fR and \fBwbkgd\fR return \fBERR\fR on failure.
+It specifies that \fBbkgd\fR and \fBwbkgd\fR return \fBERR\fR on failure,
but gives no failure conditions.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_addch\fR(3X),
\fBcurs_attr\fR(3X),
\fBcurs_outopts\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2004,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgrnd.3x,v 1.3 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_bkgrnd.3x,v 1.4 2010/12/04 18:49:20 tom Exp $
.TH curs_bkgrnd 3X ""
.SH NAME
\fBbkgrnd\fR,
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_bkgd\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border.3x,v 1.19 2007/02/24 16:15:38 tom Exp $
+.\" $Id: curs_border.3x,v 1.22 2010/12/04 18:36:44 tom Exp $
.TH curs_border 3X ""
.na
.hy 0
\fBmvhline\fR,
\fBmvwhline\fR,
\fBmvvline\fR,
-\fBmvwvline\fR - create \fBcurses\fR borders, horizontal and vertical lines
+\fBmvwvline\fR \- create \fBcurses\fR borders, horizontal and vertical lines
.ad
.hy
.SH SYNOPSIS
Other than the window, each argument is a character with attributes:
.sp
.RS
-\fIls\fR - left side,
+\fIls\fR \- left side,
.br
-\fIrs\fR - right side,
+\fIrs\fR \- right side,
.br
-\fIts\fR - top side,
+\fIts\fR \- top side,
.br
-\fIbs\fR - bottom side,
+\fIbs\fR \- bottom side,
.br
-\fItl\fR - top left-hand corner,
+\fItl\fR \- top left-hand corner,
.br
-\fItr\fR - top right-hand corner,
+\fItr\fR \- top right-hand corner,
.br
-\fIbl\fR - bottom left-hand corner, and
+\fIbl\fR \- bottom left-hand corner, and
.br
-\fIbr\fR - bottom right-hand corner.
+\fIbr\fR \- bottom right-hand corner.
.RE
.PP
If any of these arguments is zero, then the corresponding
X/Open does not define any error conditions.
This implementation returns an error
if the window pointer is null.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
The borders generated by these functions are \fIinside\fR borders (this
is also true of SVr4 curses, though the fact is not documented).
but specifies no error conditions.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_outopts\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border_set.3x,v 1.6 2005/05/15 16:17:37 tom Exp $
+.\" $Id: curs_border_set.3x,v 1.10 2011/01/15 12:56:18 tom Exp $
.TH curs_border_set 3X ""
.na
.hy 0
.PP
Other than the window, each argument is a complex character with attributes:
.RS
-\fIls\fR - left side,
+\fIls\fR \- left side,
.br
-\fIrs\fR - right side,
+\fIrs\fR \- right side,
.br
-\fIts\fR - top side,
+\fIts\fR \- top side,
.br
-\fIbs\fR - bottom side,
+\fIbs\fR \- bottom side,
.br
-\fItl\fR - top left-hand corner,
+\fItl\fR \- top left-hand corner,
.br
-\fItr\fR - top right-hand corner,
+\fItr\fR \- top right-hand corner,
.br
-\fIbl\fR - bottom left-hand corner, and
+\fIbl\fR \- bottom left-hand corner, and
.br
-\fIbr\fR - bottom right-hand corner.
+\fIbr\fR \- bottom right-hand corner.
.RE
.PP
If any of these arguments is zero, then the corresponding
\fBERR\fR.
.PP
Functions using a window parameter return an error if it is null.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH SEE ALSO
\fBncurses\fR(3X),
+\fBcurs_add_wch\fR(3X),
\fBcurs_border\fR(3X),
\fBcurs_outopts\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_clear.3x,v 1.11 2007/12/29 15:58:38 tom Exp $
+.\" $Id: curs_clear.3x,v 1.14 2010/12/04 18:36:44 tom Exp $
.TH curs_clear 3X ""
.na
.hy 0
\fBclrtobot\fR,
\fBwclrtobot\fR,
\fBclrtoeol\fR,
-\fBwclrtoeol\fR - clear all or part of a \fBcurses\fR window
+\fBwclrtoeol\fR \- clear all or part of a \fBcurses\fR window
.ad
.hy
.SH SYNOPSIS
If you do not want to clear the screen during the next \fBwrefresh\fP,
use \fBwerase\fP instead.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_outopts\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X)
.\"***************************************************************************
-.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.28 2005/12/18 00:00:37 tom Exp $
+.\" $Id: curs_color.3x,v 1.35 2010/12/20 00:50:58 tom Exp $
.TH curs_color 3X ""
+.de bP
+.IP \(bu 4
+..
.na
.hy 0
.SH NAME
\fBcan_change_color\fR,
\fBcolor_content\fR,
\fBpair_content\fR,
-\fBCOLOR_PAIR\fR - \fBcurses\fR color manipulation routines
+\fBCOLOR_PAIR\fR \- \fBcurses\fR color manipulation routines
.ad
.hy
.SH SYNOPSIS
\fB# include <curses.h>\fR
-.br
+.sp
\fBint start_color(void);\fR
.br
\fBint init_pair(short pair, short f, short b);\fR
three arguments: the number of the color-pair to be changed, the foreground
color number, and the background color number.
For portable applications:
-.TP 5
--
+.bP
The value of the first argument
-must be between \fB1\fR and \fBCOLOR_PAIRS-1\fR.
-.TP 5
--
+must be between \fB1\fR and \fBCOLOR_PAIRS\-1\fR,
+except that if default colors are used (see \fBuse_default_colors\fP)
+the upper limit is adjusted to allow for extra pairs which use
+a default color in foreground and/or background.
+.bP
The value of the second and
third arguments must be between 0 and \fBCOLORS\fR.
Color pair 0 is assumed to be white on black,
.PP
As an extension, ncurses allows you to set color pair 0 via
the \fBassume_default_colors\fR routine, or to specify the use of
-default colors (color number \fB-1\fR) if you first invoke the
+default colors (color number \fB\-1\fR) if you first invoke the
\fBuse_default_colors\fR routine.
.PP
The \fBinit_color\fR routine changes the definition of a color. It takes four
given color-pair consists of. It requires three arguments: the color-pair
number, and two addresses of \fBshort\fRs for storing the foreground and the
background color numbers. The value of the first argument must be between 1
-and \fBCOLOR_PAIRS-1\fR. The values that are stored at the addresses pointed
+and \fBCOLOR_PAIRS\-1\fR. The values that are stored at the addresses pointed
to by the second and third arguments are between 0 and \fBCOLORS\fR.
.SS Colors
In \fB<curses.h>\fR the following macros are defined. These are the default
.PP
X/Open defines no error conditions.
This implementation will return \fBERR\fR on attempts to
-use color values outside the range 0 to COLORS-1
+use color values outside the range 0 to COLORS\-1
(except for the default colors extension),
-or use color pairs outside the range 0 to COLOR_PAIR-1.
+or use color pairs outside the range 0 to COLOR_PAIRS\-1.
Color values used in \fBinit_color\fP must be in the range 0 to 1000.
An error is returned from all functions
if the terminal has not been initialized.
An error is returned from secondary functions such as \fBinit_pair\fP
if \fBstart_color\fP was not called.
-.RS
+.RS 3
.TP 5
\fBinit_color\fP
returns an error if the terminal does not support
from the terminal description.
.TP 5
\fBstart_color\fP
-returns an error
-If the color table cannot be allocated.
+returns an error if the color table cannot be allocated.
.RE
.SH NOTES
In the \fIncurses\fR implementation, there is a separate color activation flag,
scrolling operations, see \fBcurs_bkgd\fR(3X).
.PP
Several caveats apply on 386 and 486 machines with VGA-compatible graphics:
-.TP 5
--
+.bP
COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW combined with
the \fBA_BOLD\fR attribute.
-.TP 5
--
+.bP
The A_BLINK attribute should in theory cause the background to go bright. This
often fails to work, and even some cards for which it mostly works (such as the
Paradise and compatibles) do the wrong thing when you try to set a bright
"yellow" background (you get a blinking yellow foreground instead).
-.TP 5
--
+.bP
Color RGB values are not settable.
.SH PORTABILITY
This implementation satisfies XSI Curses's minimum maximums
\fBcurses\fR(3X),
\fBcurs_initscr\fR(3X),
\fBcurs_attr\fR(3X),
+\fBcurs_variables\fR(3X),
\fBdefault_colors\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_delch.3x,v 1.8 2006/02/25 21:42:57 tom Exp $
+.\" $Id: curs_delch.3x,v 1.11 2010/12/04 18:36:44 tom Exp $
.TH curs_delch 3X ""
.SH NAME
\fBdelch\fR,
\fBwdelch\fR,
\fBmvdelch\fR,
-\fBmvwdelch\fR - delete character under the cursor in a \fBcurses\fR window
+\fBmvwdelch\fR \- delete character under the cursor in a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
specifies only "an integer value other than \fBERR\fR") upon successful
completion.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that \fBdelch\fR, \fBmvdelch\fR, and \fBmvwdelch\fR may be macros.
.SH PORTABILITY
error conditions.
.SH SEE ALSO
\fBcurses\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_deleteln.3x,v 1.11 2007/06/02 20:40:07 tom Exp $
+.\" $Id: curs_deleteln.3x,v 1.13 2010/12/04 18:36:44 tom Exp $
.TH curs_deleteln 3X ""
.SH NAME
\fBdeleteln\fR,
\fBinsdelln\fR,
\fBwinsdelln\fR,
\fBinsertln\fR,
-\fBwinsertln\fR - delete and insert lines in a \fBcurses\fR window
+\fBwinsertln\fR \- delete and insert lines in a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
\fBidlok(..., TRUE)\fR has been set on the current window.
.SH SEE ALSO
\fBcurses\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1999-2004,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1999-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\"
.\" Author: Thomas E. Dickey 1999-on
.\"
-.\" $Id: curs_extend.3x,v 1.17 2006/12/24 18:01:48 tom Exp $
+.\" $Id: curs_extend.3x,v 1.19 2010/12/04 18:36:44 tom Exp $
.TH curs_extend 3X ""
.SH NAME
\fBcurses_version\fP,
which may be compiled into the terminfo
description, i.e., via the terminfo or termcap interfaces.
Normally these names are available for use, since the essential decision
-is made by using the \fB-x\fP option of \fB@TIC@\fP to compile
+is made by using the \fB\-x\fP option of \fB@TIC@\fP to compile
extended terminal definitions.
However you can disable this feature
to ensure compatibility with other implementations of curses.
\fBwresize\fR(3X).
.SH AUTHOR
Thomas Dickey.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2003,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wch.3x,v 1.6 2006/02/25 21:47:06 tom Exp $
+.\" $Id: curs_get_wch.3x,v 1.7 2010/08/14 23:31:42 tom Exp $
.TH curs_get_wch 3X ""
.SH NAME
\fBget_wch\fR,
\fBOK\fR.
Otherwise, the function returns
\fBERR\fR.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_getch\fR(3X),
.\"***************************************************************************
-.\" Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wstr.3x,v 1.6 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_get_wstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp $
.TH curs_get_wstr 3X ""
.na
.hy 0
\fBwgetn_wstr\fP
returns an error if the associated call to \fBwget_wch\fP failed.
.RE
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH PORTABILITY
These functions are described in The Single Unix Specification, Version 2.
No error conditions are defined.
\fBcurses\fR(3X),
\fBcurs_get_wch\fR(3X),
\fBcurs_getstr\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2001-2006,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getcchar.3x,v 1.11 2008/05/17 19:37:05 tom Exp $
+.\" $Id: curs_getcchar.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
.TH curs_getcchar 3X ""
+.de bP
+.IP \(bu 4
+..
.SH NAME
\fBgetcchar\fP,
\fBsetcchar\fP \- Get a wide character string and rendition from a \fBcchar_t\fP or set a \fBcchar_t\fP from a wide-character string
and rendition from a \fBcchar_t\fP argument.
When \fIwch\fP is not a null pointer,
the \fBgetcchar\fP function does the following:
-.TP 5
--
+.bP
Extracts information from a \fBcchar_t\fP value \fIwcval\fP
-.TP 5
--
+.bP
Stores the character attributes in the location pointed to by \fIattrs\fP
-.TP 5
--
+.bP
Stores the color-pair in the location pointed to by \fIcolor_pair\fP
-.TP 5
--
+.bP
Stores the wide-character string,
characters referenced by \fIwcval\fP, into the array pointed to by \fIwch\fP.
.PP
is a null pointer, the
\fBgetcchar\fP
function does the following:
-.TP 5
--
+.bP
Obtains the number of wide characters pointed to by \fIwcval\fP
-.TP 5
--
+.bP
Does not change the data referenced by
\fIattrs\fP
or
.PP
The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP
by using:
-.TP 5
--
+.bP
The character attributes in
\fIattrs\fP
-.TP 5
--
+.bP
The color pair in
\fIcolor_pair\fP
-.TP 5
--
+.bP
The wide-character string pointed to by \fIwch\fP.
The string must be L'\\0' terminated,
contain at most one spacing character,
which must be the first.
.IP
-Up to \fBCCHARW_MAX\fP-1 nonspacing characters may follow.
+Up to \fBCCHARW_MAX\fP\-1 nonspacing characters may follow.
Additional nonspacing characters are ignored.
.IP
The string may contain a single control character instead.
.PP
When \fIwch\fP is a null pointer,
\fBgetcchar\fP returns the number of wide characters referenced by
-\fIwcval\fP.
+\fIwcval\fP,
+including one for a trailing null.
.PP
When \fIwch\fP is not a null pointer,
\fBgetcchar\fP returns \fBOK\fP upon successful completion,
\fBcurs_color\fR(3X),
\fBcurses\fR(3X),
\fBwcwidth\fR(3).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.30 2006/12/02 17:02:53 tom Exp $
+.\" $Id: curs_getch.3x,v 1.36 2011/01/22 19:38:51 tom Exp $
.TH curs_getch 3X ""
.na
.hy 0
+.de bP
+.IP \(bu 4
+..
.SH NAME
\fBgetch\fR,
\fBwgetch\fR,
Unless \fBnoecho\fR has been set,
then the character will also be echoed into the
designated window according to the following rules:
-If the character is the current erase character, left arrow, or backspace,
+if the character is the current erase character, left arrow, or backspace,
the cursor is moved one space to the left and that screen position is erased
as if \fBdelch\fR had been called.
If the character value is any other \fBKEY_\fR define, the user is alerted
if the window pointer is null, or
if its timeout expires without having any data.
.RE
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Use of the escape key by a programmer for a single character function is
discouraged, as it will cause a delay of up to one second while the
\fBgetch\fR will return \fBKEY_ENTER\fP
when you press control/M.
.PP
+Generally, \fBKEY_ENTER\fP denotes the character(s) sent by the \fIEnter\fP
+key on the numeric keypad:
+.bP
+the terminal description lists the most useful keys,
+.bP
+the \fIEnter\fP key on the regular keyboard is already handled by
+the standard ASCII characters for carriage-return and line-feed,
+.bP
+depending on whether \fBnl\fP or \fBnonl\fP was called,
+pressing "Enter" on the regular keyboard may return either a carriage-return
+or line-feed, and finally
+.bP
+"Enter or send" is the standard description for this key.
+.PP
When using \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR, or
\fBmvwgetch\fR, nocbreak mode (\fBnocbreak\fR) and echo mode
(\fBecho\fR) should not be used at the same time.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_inopts\fR(3X),
+\fBcurs_outopts\fR(3X),
\fBcurs_mouse\fR(3X),
\fBcurs_move\fR(3X),
\fBcurs_refresh\fR(3X),
Comparable functions in the wide-character (ncursesw) library are
described in
\fBcurs_get_wch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getstr.3x,v 1.15 2006/01/12 00:30:58 tom Exp $
+.\" $Id: curs_getstr.3x,v 1.19 2010/12/04 18:36:44 tom Exp $
.TH curs_getstr 3X ""
.na
.hy 0
\fBmvgetstr\fR,
\fBmvgetnstr\fR,
\fBmvwgetstr\fR,
-\fBmvwgetnstr\fR - accept character strings from \fBcurses\fR terminal keyboard
+\fBmvwgetnstr\fR \- accept character strings from \fBcurses\fR terminal keyboard
.ad
.hy
.SH SYNOPSIS
This implementation provides an extension as well.
If a SIGWINCH interrupts the function, it will return \fBKEY_RESIZE\fP
rather than \fBOK\fP or \fBERR\fP.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that \fBgetstr\fR, \fBmvgetstr\fR, and \fBmvwgetstr\fR may be macros.
.SH PORTABILITY
The functions \fBgetnstr\fR, \fBmvgetnstr\fR, and \fBmvwgetnstr\fR were
present but not documented in SVr4.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_getch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_getch\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getyx.3x,v 1.16 2007/05/12 16:34:49 tom Exp $
+.\" $Id: curs_getyx.3x,v 1.18 2010/12/04 18:36:44 tom Exp $
.TH curs_getyx 3X ""
.SH NAME
\fBgetyx\fR,
\fBgetparyx\fR,
\fBgetbegyx\fR,
-\fBgetmaxyx\fR - get \fBcurses\fR cursor and window coordinates
+\fBgetmaxyx\fR \- get \fBcurses\fR cursor and window coordinates
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
If \fIwin\fR is a subwindow, the \fBgetparyx\fR macro places the beginning
coordinates of the subwindow relative to the parent window into two integer
variables \fIy\fR and \fIx\fR.
-Otherwise, \fB-1\fR is placed into \fIy\fR and \fIx\fR.
+Otherwise, \fB\-1\fR is placed into \fIy\fR and \fIx\fR.
.PP
Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
the current beginning coordinates and size of the specified window.
\fBcurses\fR(3X),
\fBcurs_legacy\fR(3X),
\fBcurs_opaque\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wch.3x,v 1.2 2006/02/25 21:42:22 tom Exp $
+.\" $Id: curs_in_wch.3x,v 1.5 2010/12/04 18:36:44 tom Exp $
.TH curs_in_wch 3X ""
.SH NAME
\fBin_wch\fR,
\fBmvin_wch\fR,
\fBmvwin_wch\fR,
-\fBwin_wch\fR - extract a complex character and rendition from a window
+\fBwin_wch\fR \- extract a complex character and rendition from a window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
Also, the \fImv\fR routines check for error moving the cursor, returning ERR
in that case.
Otherwise they return OK
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all of these routines may be macros.
.SH PORTABILITY
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_inch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wchstr.3x,v 1.6 2006/12/02 17:03:07 tom Exp $
+.\" $Id: curs_in_wchstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp $
.TH curs_in_wchstr 3X ""
.na
.hy 0
\fBOK\fR.
Otherwise, they return
\fBERR\fR.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH PORTABILITY
The XSI Curses defines no error conditions.
This implementation checks for null pointers,
\fBcurs_instr\fR(3X),
\fBcurs_inwstr\fR(3X)
\fBcurs_inchstr\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inch.3x,v 1.13 2006/12/02 16:58:55 tom Exp $
+.\" $Id: curs_inch.3x,v 1.17 2010/12/04 18:36:44 tom Exp $
.TH curs_inch 3X ""
.SH NAME
-\fBinch\fR, \fBwinch\fR, \fBmvinch\fR, \fBmvwinch\fR
-- get a character and attributes from a \fBcurses\fR window
+\fBinch\fR,
+\fBwinch\fR,
+\fBmvinch\fR,
+\fBmvwinch\fR \- get a character and attributes from a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
\fBA_ATTRIBUTES\fR Bit-mask to extract attributes
\fBA_COLOR\fR Bit-mask to extract color-pair field information
.TE
+.SH RETURN VALUE
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all of these routines may be macros.
.SH PORTABILITY
Comparable functions in the wide-character (ncursesw) library are
described in
\fBcurs_in_wch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inchstr.3x,v 1.12 2006/12/02 17:00:58 tom Exp $
+.\" $Id: curs_inchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
.TH curs_inchstr 3X ""
.na
.hy 0
\fBmvinchstr\fR,
\fBmvinchnstr\fR,
\fBmvwinchstr\fR,
-\fBmvwinchnstr\fR - get a string of characters (and attributes) from a \fBcurses\fR window
+\fBmvwinchnstr\fR \- get a string of characters (and attributes) from a \fBcurses\fR window
.ad
.hy
.SH SYNOPSIS
If the \fIchstr\fP parameter is null,
no data is returned,
and the return value is zero.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all routines except \fBwinchnstr\fR may be macros. SVr4 does not
-document whether the result string is 0-terminated; it does not document
+document whether the result string is zero-terminated; it does not document
whether a length limit argument includes any trailing 0; and it does not
document the meaning of the return value.
.SH PORTABILITY
Comparable functions in the wide-character (ncursesw) library are
described in
\fBcurs_in_wchstr\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.14 2005/05/15 16:18:01 tom Exp $
+.\" $Id: curs_initscr.3x,v 1.17 2010/12/04 18:36:58 tom Exp $
.TH curs_initscr 3X ""
.na
.hy 0
\fBendwin\fR,
\fBisendwin\fR,
\fBset_term\fR,
-\fBdelscreen\fR - \fBcurses\fR screen initialization and manipulation routines
+\fBdelscreen\fR \- \fBcurses\fR screen initialization and manipulation routines
.ad
.hy
.SH SYNOPSIS
It is safe but redundant to check the return value of \fBinitscr\fR
in XSI Curses.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_refresh\fR(3X),
-\fBcurs_slk\fR(3X), \fBcurs_util\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_kernel\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_slk\fR(3X),
+\fBcurs_util\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inopts.3x,v 1.13 2005/05/15 16:18:07 tom Exp $
+.\" $Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp $
.TH curs_inopts 3X ""
.na
.hy 0
\fBqiflush\fR,
\fBtimeout\fR,
\fBwtimeout\fR,
-\fBtypeahead\fR - \fBcurses\fR input options
+\fBtypeahead\fR \- \fBcurses\fR input options
.ad
.hy
.SH SYNOPSIS
\fBinitscr\fR was used, will be used to do this typeahead checking.
The \fBtypeahead\fR routine specifies that the file descriptor
\fIfd\fR is to be used to check for typeahead instead. If \fIfd\fR is
--1, then no typeahead checking is done.
+\-1, then no typeahead checking is done.
.SH RETURN VALUE
All routines that return an integer return \fBERR\fR upon failure and OK (SVr4
specifies only "an integer value other than \fBERR\fR") upon successful
control states that are hard to predict or understand; it is not recommended.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_getch\fR(3X), \fBcurs_initscr\fR(3X), \fBtermio\fR(7)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wch.3x,v 1.3 2006/02/25 21:42:22 tom Exp $
+.\" $Id: curs_ins_wch.3x,v 1.5 2010/12/04 18:38:55 tom Exp $
.TH curs_ins_wch 3X ""
.SH NAME
\fBins_wch\fR,
.SH RETURN VALUE
If successful, these functions return OK.
If not, they return ERR.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH ERRORS
No errors are defined.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_insch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wstr.3x,v 1.4 2005/05/15 17:02:54 tom Exp $
+.\" $Id: curs_ins_wstr.3x,v 1.6 2010/12/04 18:38:55 tom Exp $
.TH curs_ins_wstr 3X ""
.na
.hy 0
.SH RETURN VALUES
Upon successful completion, these functions return OK.
Otherwise, they return ERR.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_insstr\fR(3X),
\fBcurs_in_wch\fR(3X),
\fBcurs_ins_wch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insch.3x,v 1.10 2006/12/02 17:01:50 tom Exp $
+.\" $Id: curs_insch.3x,v 1.13 2010/12/04 18:38:55 tom Exp $
.TH curs_insch 3X ""
.SH NAME
\fBinsch\fR,
\fBwinsch\fR,
\fBmvinsch\fR,
-\fBmvwinsch\fR - insert a character before cursor in a \fBcurses\fR window
+\fBmvwinsch\fR \- insert a character before cursor in a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
All routines that return an integer return \fBERR\fR upon failure and OK (SVr4
specifies only "an integer value other than \fBERR\fR") upon successful
completion, unless otherwise noted in the preceding routine descriptions.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
These routines do not necessarily imply use of a hardware insert character
feature.
Comparable functions in the wide-character (ncursesw) library are
described in
\fBcurs_ins_wch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.18 2006/12/24 14:59:30 tom Exp $
+.\" $Id: curs_insstr.3x,v 1.21 2010/12/04 18:38:55 tom Exp $
.TH curs_insstr 3X ""
.SH NAME
\fBinsstr\fR,
\fBmvinsstr\fR,
\fBmvinsnstr\fR,
\fBmvwinsstr\fR,
-\fBmvwinsnstr\fR - insert string before cursor in a \fBcurses\fR window
+\fBmvwinsnstr\fR \- insert string before cursor in a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.br
In this implementation,
if the window parameter is null or the str parameter is null,
an error is returned.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all but \fBwinsnstr\fR may be macros.
.SH PORTABILITY
\fBcurs_util\fR(3X),
\fBcurs_clear\fR(3X),
\fBcurs_inch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.13 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_instr.3x,v 1.16 2010/12/04 18:38:55 tom Exp $
.TH curs_instr 3X ""
.SH NAME
\fBinstr\fR,
\fBmvinstr\fR,
\fBmvinnstr\fR,
\fBmvwinstr\fR,
-\fBmvwinnstr\fR - get a string of characters from a \fBcurses\fR window
+\fBmvwinnstr\fR \- get a string of characters from a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
In this implementation,
if the window parameter is null or the str parameter is null,
a zero is returned.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
Note that all routines except \fBwinnstr\fR may be macros.
.SH PORTABILITY
In this case, the functions return the string ending at the right margin.
.SH SEE ALSO
\fBcurses\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inwstr.3x,v 1.5 2006/02/25 21:20:20 tom Exp $
+.\" $Id: curs_inwstr.3x,v 1.7 2010/12/04 18:38:55 tom Exp $
.TH curs_inwstr 3X ""
.SH NAME
\fBinwstr\fR,
\fBOK\fR, and the *\fBinnwstr\fR
routines return the
number of characters read into the string.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_instr\fR(3X),
\fBcurs_in_wchstr\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_kernel.3x,v 1.15 2005/05/15 16:18:13 tom Exp $
+.\" $Id: curs_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp $
.TH curs_kernel 3X ""
.na
.hy 0
\fBsetsyx\fR,
\fBripoffline\fR,
\fBcurs_set\fR,
-\fBnapms\fR - low-level \fBcurses\fR routines
+\fBnapms\fR \- low-level \fBcurses\fR routines
.ad
.hy
.SH SYNOPSIS
.br
.SH DESCRIPTION
The following routines give low-level access to various \fBcurses\fR
-capabilities. Theses routines typically are used inside library
+capabilities. These routines typically are used inside library
routines.
.PP
The \fBdef_prog_mode\fR and \fBdef_shell_mode\fR routines save the
.PP
The \fBgetsyx\fR routine returns the current coordinates of the virtual screen
cursor in \fIy\fR and \fIx\fR. If \fBleaveok\fR is currently \fBTRUE\fR, then
-\fB-1\fR,\fB-1\fR is returned. If lines have been removed from the top of the
+\fB\-1\fR,\fB\-1\fR is returned. If lines have been removed from the top of the
screen, using \fBripoffline\fR, \fIy\fR and \fIx\fR include these lines;
therefore, \fIy\fR and \fIx\fR should be used only as arguments for
\fBsetsyx\fR.
.PP
The \fBsetsyx\fR routine sets the virtual screen cursor to
-\fIy\fR, \fIx\fR. If \fIy\fR and \fIx\fR are both \fB-1\fR, then
+\fIy\fR, \fIx\fR. If \fIy\fR and \fIx\fR are both \fB\-1\fR, then
\fBleaveok\fR is set. The two routines \fBgetsyx\fR and \fBsetsyx\fR
are designed to be used by a library routine, which manipulates
\fBcurses\fR windows but does not want to change the current position
\fBripoffline\fR can be called up to five times before calling \fBinitscr\fR or
\fBnewterm\fR.
.PP
-The \fBcurs_set\fR routine sets the cursor state is set to invisible,
+The \fBcurs_set\fR routine sets the cursor state to invisible,
normal, or very visible for \fBvisibility\fR equal to \fB0\fR,
\fB1\fR, or \fB2\fR respectively. If the terminal supports the
\fIvisibility\fR requested, the previous \fIcursor\fR state is
type int. This is misleading, as they are macros with no documented semantics
for the return value.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X),
-\fBcurs_scr_dump\fR(3X), \fBcurs_slk\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_initscr\fR(3X),
+\fBcurs_outopts\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_scr_dump\fR(3X),
+\fBcurs_slk\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_legacy.3x,v 1.1 2007/04/07 23:54:29 tom Exp $
+.\" $Id: curs_legacy.3x,v 1.5 2010/12/04 18:38:55 tom Exp $
.TH curs_legacy 3X ""
.SH NAME
-\fBgetbegx\fR,
-\fBgetbegy\fR,
-\fBgetcurx\fR,
-\fBgetcury\fR,
-\fBgetmaxx\fR,
-\fBgetmaxy\fR,
-\fBgetparx\fR,
-\fBgetpary\fR - get \fBcurses\fR cursor and window coordinates
+getattrs \- get \fBcurses\fR cursor and window coordinates, attributes
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
+\fBint getattrs(WINDOW *win);\fR
+.br
\fBint getbegx(WINDOW *win);\fR
.br
\fBint getbegy(WINDOW *win);\fR
\fBcurses\fR(3X),
\fBcurs_getyx\fR(3X),
\fBcurs_opaque\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_memleaks.3x,v 1.1 2008/10/25 23:38:13 tom Exp $
+.\" $Id: curs_memleaks.3x,v 1.3 2010/12/04 18:40:45 tom Exp $
.TH curs_memleaks 3X ""
.na
.hy 0
.SH NAME
\fB_nc_freeall\fP
-\fB_nc_free_and_exit\fP - \fBcurses\fR memory-leak checking
+\fB_nc_free_and_exit\fP \- \fBcurses\fR memory-leak checking
.ad
.hy
.SH SYNOPSIS
These functions are used to simplify analysis of memory leaks in the ncurses
library.
They are normally not available; they must be configured into the library
-at build time using the \fB--disable-leaks\fP option.
+at build time using the \fB\-\-disable-leaks\fP option.
That compiles-in code that frees memory that normally would not be freed.
.PP
Any implementation of curses must not free the memory associated with
These functions are not part of the XSI interface.
.SH SEE ALSO
\fBcurses\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.30 2006/12/30 23:43:34 tom Exp $
+.\" $Id: curs_mouse.3x,v 1.38 2010/12/04 18:38:55 tom Exp $
.TH curs_mouse 3X ""
.na
.hy 0
.SH NAME
+\fBhas_mouse\fR,
\fBgetmouse\fR, \fBungetmouse\fR,
\fBmousemask\fR, \fBwenclose\fR,
\fBmouse_trafo\fR, \fBwmouse_trafo\fR,
-\fBmouseinterval\fR - mouse interface through curses
+\fBmouseinterval\fR \- mouse interface through curses
.ad
.hy
.SH SYNOPSIS
MEVENT;\fR
.fi
.br
+\fBbool has_mouse(void);\fR
+.br
\fBint getmouse(MEVENT *event);\fR
.br
\fBint ungetmouse(MEVENT *event);\fR
coordinates.
The returned state mask will have exactly one bit set to
indicate the event type.
+The corresponding data in the queue is marked invalid.
+A subsequent call to \fBgetmouse\fP will retrieve the next older
+item from the queue.
.PP
The \fBungetmouse\fR function behaves analogously to \fBungetch\fR.
It pushes
be recognized as a click.
Use \fBmouseinterval(0)\fR to disable click resolution.
This function returns the previous interval value.
-Use \fBmouseinterval(-1)\fR to obtain the interval without altering it.
+Use \fBmouseinterval(\-1)\fR to obtain the interval without altering it.
The default is one sixth of a second.
.PP
+The \fBhas_mouse\fP function returns TRUE if the mouse driver has been
+successfully initialized.
+.PP
Note that mouse events will be ignored when input is in cooked mode, and will
cause an error beep when cooked mode is being simulated in a window by a
function such as \fBgetstr\fR that expects a linefeed for input-loop
returns an error.
If no mouse driver was initialized, or
if the mask parameter is zero,
+it also returns an error if no more events remain in the queue.
.TP 5
\fBungetmouse\fP
returns an error if the FIFO is full.
xterm's built-in mouse-tracking API or
platform-specific drivers including
.RS
-Alessandro Rubini's gpm server.
+Alessandro Rubini's gpm server
.br
FreeBSD sysmouse
.br
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_kernel\fR(3X),
-\fBcurs_slk\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurs_slk\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_move.3x,v 1.12 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_move.3x,v 1.14 2010/12/04 18:40:45 tom Exp $
.TH curs_move 3X ""
.na
.hy 0
.SH NAME
\fBmove\fR,
-\fBwmove\fR - move \fBcurses\fR window cursor
+\fBwmove\fR \- move \fBcurses\fR window cursor
.ad
.hy
.SH SYNOPSIS
These functions are described in the XSI Curses standard, Issue 4.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_refresh\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 2007-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_opaque.3x,v 1.6 2007/09/08 18:49:13 tom Exp $
+.\" $Id: curs_opaque.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
.TH curs_opaque 3X ""
.na
.hy 0
\fBis_keypad\fR,
\fBis_leaveok\fR,
\fBis_nodelay\fR,
-\fBis_timeout\fR,
+\fBis_notimeout\fR,
+\fBis_pad\fR,
\fBis_scrollok\fR,
-\fBis_syncok\fR - \fBcurses\fR window properties
+\fBis_subwin\fR,
+\fBis_syncok\fR \- \fBcurses\fR window properties
.ad
.hy
.SH SYNOPSIS
.br
\fBbool is_notimeout(const WINDOW *win);\fR
.br
+\fBbool is_pad(const WINDOW *win);\fR
+.br
\fBbool is_scrollok(const WINDOW *win);\fR
.br
+\fBbool is_subwin(const WINDOW *win);\fR
+.br
\fBbool is_syncok(const WINDOW *win);\fR
.br
\fBWINDOW * wgetparent(const WINDOW *win);\fR
\fBis_notimeout\fR
returns the value set in \fBnotimeout\fR
.TP 5
+\fBis_pad\fR
+returns TRUE if the window is a pad
+i.e., created by \fBnewpad\fP
+.TP 5
\fBis_scrollok\fR
returns the value set in \fBscrollok\fR
.TP 5
+\fBis_subwin\fR
+returns TRUE if the window is a subwindow,
+i.e., created by \fBsubwin\fP or \fBderwin\fP
+.TP 5
\fBis_syncok\fR
returns the value set in \fBsyncok\fR
.TP 5
\fBcurs_inopts\fR(3X),
\fBcurs_outopts\fR(3X),
\fBcurs_window\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_outopts.3x,v 1.21 2007/06/02 20:40:07 tom Exp $
+.\" $Id: curs_outopts.3x,v 1.25 2010/12/04 18:38:55 tom Exp $
.TH curs_outopts 3X ""
.na
.hy 0
\fBwsetscrreg\fR,
\fBscrollok\fR,
\fBnl\fR,
-\fBnonl\fR - \fBcurses\fR output options
+\fBnonl\fR \- \fBcurses\fR output options
.ad
.hy
.SH SYNOPSIS
.PP
The \fBsetscrreg\fR and \fBwsetscrreg\fR routines allow the application
programmer to set a software scrolling region in a window.
-\fItop\fR and
-\fIbot\fR are the line numbers of the top and bottom margin of the scrolling
+The \fItop\fR and
+\fIbot\fR parameters
+are the line numbers of the top and bottom margin of the scrolling
region.
(Line 0 is the top line of the window.) If this option and
\fBscrollok\fR are enabled, an attempt to move off the bottom margin line
The \fBimmedok\fR routine is useful for windows that are used as terminal
emulators.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_addch\fR(3X), \fBcurs_clear\fR(3X),
-\fBcurs_initscr\fR(3X), \fBcurs_scroll\fR(3X), \fBcurs_refresh\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_addch\fR(3X),
+\fBcurs_clear\fR(3X),
+\fBcurs_initscr\fR(3X),
+\fBcurs_scroll\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_overlay.3x,v 1.14 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_overlay.3x,v 1.16 2010/12/04 18:40:45 tom Exp $
.TH curs_overlay 3X ""
.na
.hy 0
.SH NAME
\fBoverlay\fR,
\fBoverwrite\fR,
-\fBcopywin\fR - overlay and manipulate overlapped \fBcurses\fR windows
+\fBcopywin\fR \- overlay and manipulate overlapped \fBcurses\fR windows
.ad
.hy
.SH SYNOPSIS
with multibyte renditions (not yet supported in this implementation).
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_pad\fR(3X), \fBcurs_refresh\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_pad.3x,v 1.14 2005/05/15 16:18:43 tom Exp $
+.\" $Id: curs_pad.3x,v 1.17 2010/12/04 18:41:07 tom Exp $
.TH curs_pad 3X ""
.na
.hy 0
\fBprefresh\fR,
\fBpnoutrefresh\fR,
\fBpechochar\fR,
-\fBpecho_wchar\fR - create and display \fBcurses\fR pads
+\fBpecho_wchar\fR \- create and display \fBcurses\fR pads
.ad
.hy
.SH SYNOPSIS
of windows.
The additional parameters are needed to indicate what part of the
pad and screen are involved.
-\fIpminrow\fR and \fIpmincol\fR specify the upper
+The \fIpminrow\fR and \fIpmincol\fR parameters specify the upper
left-hand corner of the rectangle to be displayed in the pad.
-\fIsminrow\fR,
-\fIsmincol\fR, \fIsmaxrow\fR, and \fIsmaxcol\fR specify the edges of the
+The \fIsminrow\fR,
+\fIsmincol\fR, \fIsmaxrow\fR, and \fIsmaxcol\fR
+parameters specify the edges of the
rectangle to be displayed on the screen.
The lower right-hand corner of the
rectangle to be displayed in the pad is calculated from the screen coordinates,
The XSI Curses standard, Issue 4 describes these functions.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_refresh\fR(3X), \fBcurs_touch\fR(3X), \fBcurs_addch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_print.3x,v 1.8 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_print.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
.TH curs_print 3X ""
.SH NAME
-\fBmcprint\fR - ship binary data to printer
+\fBmcprint\fR \- ship binary data to printer
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
interpreted.
.SH SEE ALSO
\fBcurses\fR(3X)\fR
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_printw.3x,v 1.17 2006/12/24 16:05:17 tom Exp $
+.\" $Id: curs_printw.3x,v 1.20 2010/12/04 18:40:45 tom Exp $
.TH curs_printw 3X ""
.na
.hy 0
\fBwprintw\fR,
\fBmvprintw\fR,
\fBmvwprintw\fR,
-\fBvwprintw\fR, \fBvw_printw\fR - print formatted output in \fBcurses\fR windows
+\fBvwprintw\fR, \fBvw_printw\fR \- print formatted output in \fBcurses\fR windows
.ad
.hy
.SH SYNOPSIS
an error may be returned if it cannot allocate enough memory for the
buffer used to format the results.
It will return an error if the window pointer is null.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH PORTABILITY
The XSI Curses standard, Issue 4 describes these functions. The function
\fBvwprintw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function
is included in \fB<curses.h\fR>.
.SH SEE ALSO
\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf(3)\fR
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_refresh.3x,v 1.12 2005/05/15 16:18:49 tom Exp $
+.\" $Id: curs_refresh.3x,v 1.15 2010/12/04 18:38:55 tom Exp $
.TH curs_refresh 3X ""
.na
.hy 0
\fBrefresh\fR,
\fBwnoutrefresh\fR,
\fBwredrawln\fR,
-\fBwrefresh\fR - refresh \fBcurses\fR windows and lines
+\fBwrefresh\fR \- refresh \fBcurses\fR windows and lines
.ad
.hy
.SH SYNOPSIS
Instead, you can do an explicit \fBtouchwin()\fR before the
\fBwnoutrefresh()\fR call to guarantee an entire-contents copy anywhere.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_outopts\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_outopts\fR(3X)
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scanw.3x,v 1.14 2006/12/24 16:05:49 tom Exp $
+.\" $Id: curs_scanw.3x,v 1.17 2010/12/04 18:40:45 tom Exp $
.TH curs_scanw 3X ""
.SH NAME
\fBscanw\fR,
\fBwscanw\fR,
\fBmvscanw\fR,
\fBmvwscanw\fR,
-\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window
+\fBvwscanw\fR, \fBvw_scanw\fR \- convert formatted input from a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
Applications may use the return value from the \fBscanw\fR, \fBwscanw\fR,
\fBmvscanw\fR and \fBmvwscanw\fR routines to determine the number of fields
which were mapped in the call.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH PORTABILITY
The XSI Curses standard, Issue 4 describes these functions. The function
\fBvwscanw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function
at the end of the format string to ensure that something was processed.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scr_dump.3x,v 1.7 2006/12/24 16:05:49 tom Exp $
+.\" $Id: curs_scr_dump.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
.TH curs_scr_dump 3X ""
.na
.hy 0
\fBscr_dump\fR,
\fBscr_restore\fR,
\fBscr_init\fR,
-\fBscr_set\fR - read (write) a \fBcurses\fR screen from (to) a file
+\fBscr_set\fR \- read (write) a \fBcurses\fR screen from (to) a file
.ad
.hy
.SH SYNOPSIS
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X),
\fBcurs_util\fR(3X), \fBsystem\fR(3)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scroll.3x,v 1.13 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_scroll.3x,v 1.15 2010/12/04 18:40:45 tom Exp $
.TH curs_scroll 3X ""
.na
.hy 0
.SH NAME
\fBscroll\fR,
\fBscrl\fR,
-\fBwscrl\fR - scroll a \fBcurses\fR window
+\fBwscrl\fR \- scroll a \fBcurses\fR window
.ad
.hy
.SH SYNOPSIS
The XSI Curses standard, Issue 4 describes these functions.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_outopts\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.16 2007/06/02 20:40:07 tom Exp $
+.\" $Id: curs_slk.3x,v 1.22 2010/12/04 18:38:55 tom Exp $
.TH curs_slk 3X ""
.na
.hy 0
.SH NAME
\fBslk_init\fR,
\fBslk_set\fR,
+\fBslk_wset\fR,
\fBslk_refresh\fR,
\fBslk_noutrefresh\fR,
\fBslk_label\fR,
\fBslk_attr_set\fR,
\fBslk_attr_off\fR,
\fBslk_attr\fR,
-\fBslk_color\fR - \fBcurses\fR soft label routines
+\fBslk_color\fR \- \fBcurses\fR soft label routines
.ad
.hy
.SH SYNOPSIS
.br
\fBint slk_attr_off(const attr_t attrs, void * opts);\fR
.br
-\fBint slk_attr_set(const attr_t attrs,\fR
-.br
- \fBshort color_pair_number, void* opts);\fR
+\fBint slk_attr_set(const attr_t attrs, short color_pair, void* opts);\fR
.br
\fBattr_t slk_attr(void);\fR
.br
-\fBint slk_color(short color_pair_number);\fR
+\fBint slk_color(short color_pair);\fR
+.br
+\fBint slk_wset(int labnum, const wchar_t *label, int fmt);\fR
.br
.SH DESCRIPTION
The slk* functions manipulate the set of soft function-key labels that exist on
-many terminals. For those terminals that do not have soft labels,
+many terminals.
+For those terminals that do not have soft labels,
\fBcurses\fR takes over the bottom line of \fBstdscr\fR, reducing the size of
-\fBstdscr\fR and the variable \fBLINES\fR. \fBcurses\fR standardizes on eight
-labels of up to eight characters each. In addition to this, the ncurses
+\fBstdscr\fR and the variable \fBLINES\fR.
+\fBcurses\fR standardizes on eight
+labels of up to eight characters each.
+In addition to this, the ncurses
implementation supports a mode where it simulates 12 labels of up to five
-characters each. This is most common for todays PC like enduser devices.
-Please note that ncurses simulates this mode by taking over up to two lines at
-the bottom of the screen, it does not try to use any hardware support for this
+characters each.
+This is useful for today's PC-like enduser devices.
+ncurses simulates this mode by taking over up to two lines at
+the bottom of the screen;
+it does not try to use any hardware support for this
mode.
.PP
The \fBslk_init\fR routine must be called before \fBinitscr\fR or \fBnewterm\fR
-is called. If \fBinitscr\fR eventually uses a line from \fBstdscr\fR to
-emulate the soft labels, then \fIfmt\fR determines how the labels are arranged
-on the screen. Setting \fIfmt\fR to \fB0\fR indicates a 3-2-3 arrangement of
-the labels, \fB1\fR indicates a 4-4 arrangement and \fB2\fR indicates the
-PC like 4-4-4 mode. If \fBfmt\fR is set to \fB3\fR, it is again the PC like
-4-4-4 mode, but in addition an index line is generated, helping the user to
+is called.
+If \fBinitscr\fR eventually uses a line from \fBstdscr\fR to
+emulate the soft labels,
+then \fIfmt\fR determines how the labels are arranged on the screen:
+.RS
+.TP 3
+.B 0
+indicates a 3\-2\-3 arrangement of
+the labels.
+.TP 3
+.B 1
+indicates a 4\-4 arrangement
+.TP 3
+.B 2
+indicates the PC-like 4\-4\-4 mode.
+.TP 3
+.B 3
+is again the PC-like 4\-4\-4 mode,
+but in addition an index line is generated, helping the user to
identify the key numbers easily.
+.RE
.PP
-The \fBslk_set\fR routine requires \fIlabnum\fR to be a label number,
-from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string
-to be put on the label, up to eight (resp. five) characters in length.
-A null string or a null pointer sets up a blank label. \fIfmt\fR is either
-\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is to be
+The \fBslk_set\fR routine
+(and the \fBslk_wset\fR routine for the wide-character library)
+has three parameters:
+.RS
+.TP 5
+.I labnum
+is the label number, from \fB1\fR to \fB8\fR
+(12 for \fIfmt\fP in \fBslk_init\fP is \fB2\fP or \fB3\fP);
+.TP
+.I label
+is be the string to put on the label,
+up to eight
+(five for \fIfmt\fP in \fBslk_init\fP is \fB2\fP or \fB3\fP)
+characters in length.
+A null string or a null pointer sets up a blank label.
+.TP
+.I fmt
+is either
+\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is to be
left-justified, centered, or right-justified, respectively, within the
label.
+.RE
.PP
The \fBslk_refresh\fR and \fBslk_noutrefresh\fR routines correspond to
the \fBwrefresh\fR and \fBwnoutrefresh\fR routines.
The \fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR and \fBslk_attr\fR
routines correspond to \fBattron\fR, \fBattrset\fR, \fBattroff\fR and \fBattr_get\fR.
They have an effect only if soft labels are simulated on the bottom line of
-the screen. The default highlight for soft keys is A_STANDOUT (as in
+the screen.
+The default highlight for soft keys is A_STANDOUT (as in
System V curses, which does not document this fact).
.PP
-The \fBslk_color\fR routine corresponds to \fBcolor_set\fR. It has an effect only
+The \fBslk_color\fR routine corresponds to \fBcolor_set\fR.
+It has an effect only
if soft labels are simulated on the bottom line of the screen.
.
.SH RETURN VALUE
\fBslk_attr_set\fP
returns an error
if the terminal or the softkeys were not initialized, or
-the color pair is outside the range 0..COLOR_PAIRS-1,
+the color pair is outside the range 0..COLOR_PAIRS\-1,
or opts is not null.
.TP 5
\fBslk_color\fP
returns an error
if the terminal or the softkeys were not initialized, or
-the color pair is outside the range 0..COLOR_PAIRS-1.
+the color pair is outside the range 0..COLOR_PAIRS\-1.
.TP 5
\fBslk_init\fR
returns an error
Most applications would use \fBslk_noutrefresh\fR because a
\fBwrefresh\fR is likely to follow soon.
.SH PORTABILITY
-The XSI Curses standard, Issue 4, describes these functions. It changes the
+The XSI Curses standard, Issue 4, describes these functions.
+It changes the
argument type of the attribute-manipulation functions \fBslk_attron\fR,
\fBslk_attroff\fR, \fBslk_attrset\fR to be \fBattr_t\fR, and adds \fBconst\fR
-qualifiers. The format codes \fB2\fR and \fB3\fR for \fBslk_init()\fR and the
+qualifiers.
+The format codes \fB2\fR and \fB3\fR for \fBslk_init()\fR and the
function \fBslk_attr\fR are specific to ncurses.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_attr\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_attr\fR(3X),
+\fBcurs_initscr\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X).
--- /dev/null
+.\"***************************************************************************
+.\" Copyright (c) 2010 Free Software Foundation, Inc. *
+.\" *
+.\" Permission is hereby granted, free of charge, to any person obtaining a *
+.\" copy of this software and associated documentation files (the *
+.\" "Software"), to deal in the Software without restriction, including *
+.\" without limitation the rights to use, copy, modify, merge, publish, *
+.\" distribute, distribute with modifications, sublicense, and/or sell *
+.\" copies of the Software, and to permit persons to whom the Software is *
+.\" furnished to do so, subject to the following conditions: *
+.\" *
+.\" The above copyright notice and this permission notice shall be included *
+.\" in all copies or substantial portions of the Software. *
+.\" *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+.\" *
+.\" Except as contained in this notice, the name(s) of the above copyright *
+.\" holders shall not be used in advertising or otherwise to promote the *
+.\" sale, use or other dealings in this Software without prior written *
+.\" authorization. *
+.\"***************************************************************************
+.\"
+.\" $Id: curs_sp_funcs.3x,v 1.5 2010/12/04 18:38:55 tom Exp $
+.TH curs_sp_funcs 3X ""
+.na
+.hy 0
+.SH NAME
+new_prescr \- \fBcurses\fR screen-pointer extension
+.ad
+.hy
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+.nf
+.sp
+\fBint assume_default_colors_sp(SCREEN*, int, int);\fR
+.br
+\fBint baudrate_sp(SCREEN*);\fR
+.br
+\fBint beep_sp(SCREEN*);\fR
+.br
+\fBbool can_change_color_sp(SCREEN*);\fR
+.br
+\fBint cbreak_sp(SCREEN*);\fR
+.br
+\fBint color_content_sp(SCREEN*, short, short*, short*, short*);\fR
+.br
+\fBint curs_set_sp(SCREEN*, int);\fR
+.br
+\fBint define_key_sp(SCREEN*, const char *, int);\fR
+.br
+\fBint def_prog_mode_sp(SCREEN*);\fR
+.br
+\fBint def_shell_mode_sp(SCREEN*);\fR
+.br
+\fBint delay_output_sp(SCREEN*, int);\fR
+.br
+\fBint doupdate_sp(SCREEN*);\fR
+.br
+\fBint echo_sp(SCREEN*);\fR
+.br
+\fBint endwin_sp(SCREEN*);\fR
+.br
+\fBint erasechar_sp(SCREEN*);\fR
+.br
+\fBint filter_sp(SCREEN*);\fR
+.br
+\fBint flash_sp(SCREEN*);\fR
+.br
+\fBint flushinp_sp(SCREEN*);\fR
+.br
+\fBint get_escdelay_sp(SCREEN*);\fR
+.br
+\fBint getmouse_sp(SCREEN*, MEVENT*);\fR
+.br
+\fBWINDOW* getwin_sp(SCREEN*, FILE*);\fR
+.br
+\fBint halfdelay_sp(SCREEN*);\fR
+.br
+\fBbool has_colors_sp(SCREEN*);\fR
+.br
+\fBbool has_ic_sp(SCREEN*);\fR
+.br
+\fBbool has_il_sp(SCREEN*);\fR
+.br
+\fBint has_key_sp(SCREEN*, int);\fR
+.br
+\fBbool has_mouse_sp(SCREEN*);\fR
+.br
+\fBint init_color_sp(SCREEN*, short, short, short, short);\fR
+.br
+\fBint init_pair_sp(SCREEN*, short, short, short);\fR
+.br
+\fBint intrflush_sp(SCREEN*, WINDOW*, bool);\fR
+.br
+\fBbool isendwin_sp(SCREEN*);\fR
+.br
+\fBbool is_term_resized_sp(SCREEN*, int, int);\fR
+.br
+\fBchar* keybound_sp(SCREEN*, int, int);\fR
+.br
+\fBint key_defined_sp(SCREEN*, const char *);\fR
+.br
+\fBNCURSES_CONST char * keyname_sp(SCREEN*, int);\fR
+.br
+\fBint keyok_sp(SCREEN*, int, bool);\fR
+.br
+\fBchar killchar_sp(SCREEN*);\fR
+.br
+\fBint mcprint_sp(SCREEN*, char *, int);\fR
+.br
+\fBint mouseinterval_sp(SCREEN*, int);\fR
+.br
+\fBmmask_t mousemask_sp(SCREEN*, mmask_t, mmask_t *);\fR
+.br
+\fBint mvcur_sp(SCREEN*, int, int, int, int);\fR
+.br
+\fBint napms_sp(SCREEN*, int);\fR
+.br
+\fBWINDOW* newpad_sp(SCREEN*, int, int);\fR
+.br
+\fBSCREEN* new_prescr(void);\fR
+.br
+\fBSCREEN* newterm_sp(SCREEN*, NCURSES_CONST char *, FILE *, FILE *);\fR
+.br
+\fBWINDOW* newwin_sp(SCREEN*, int, int, int, int);\fR
+.br
+\fBint nl_sp(SCREEN*);\fR
+.br
+\fBint nocbreak_sp(SCREEN*);\fR
+.br
+\fBint noecho_sp(SCREEN*);\fR
+.br
+\fBint nofilter_sp(SCREEN*);\fR
+.br
+\fBint nonl_sp(SCREEN*);\fR
+.br
+\fBvoid noqiflush_sp(SCREEN*);\fR
+.br
+\fBint noraw_sp(SCREEN*);\fR
+.br
+\fBint pair_content_sp(SCREEN*, short, short*, short*);\fR
+.br
+\fBvoid qiflush_sp(SCREEN*);\fR
+.br
+\fBint raw_sp(SCREEN*);\fR
+.br
+\fBint reset_prog_mode_sp(SCREEN*);\fR
+.br
+\fBint reset_shell_mode_sp(SCREEN*);\fR
+.br
+\fBint resetty_sp(SCREEN*);\fR
+.br
+\fBint resize_term_sp(SCREEN*, int, int);\fR
+.br
+\fBint resizeterm_sp(SCREEN*, int, int);\fR
+.br
+\fBint restartterm_sp(SCREEN*, NCURSES_CONST char*, int, int *);\fR
+.br
+\fBint ripoffline_sp(SCREEN*, int, int (*)(WINDOW*, int));\fR
+.br
+\fBint savetty_sp(SCREEN*);\fR
+.br
+\fBint scr_init_sp(SCREEN*, const char *);\fR
+.br
+\fBint scr_restore_sp(SCREEN*, const char *);\fR
+.br
+\fBint scr_set_sp(SCREEN*, const char *);\fR
+.br
+\fBTERMINAL* set_curterm_sp(SCREEN*, TERMINAL*);\fR
+.br
+\fBint set_escdelay_sp(SCREEN*, int);\fR
+.br
+\fBint set_tabsize_sp(SCREEN*, int);\fR
+.br
+\fBint slk_attroff_sp(SCREEN*, const chtype);\fR
+.br
+\fBint slk_attron_sp(SCREEN*, const chtype);\fR
+.br
+\fBint slk_attr_set_sp(SCREEN*, const attr_t, short, void*);\fR
+.br
+\fBint slk_attrset_sp(SCREEN*, const chtype);\fR
+.br
+\fBint slk_attr_sp((SCREEN*);\fR
+.br
+\fBint slk_clear_sp(SCREEN*);\fR
+.br
+\fBint slk_color_sp(SCREEN*, short);\fR
+.br
+\fBint slk_init_sp(SCREEN*, int);\fR
+.br
+\fBint slk_label_sp(SCREEN*, int);\fR
+.br
+\fBint slk_noutrefresh_sp(SCREEN*);\fR
+.br
+\fBint slk_refresh_sp(SCREEN*);\fR
+.br
+\fBint slk_restore_sp(SCREEN*);\fR
+.br
+\fBint slk_set_sp(SCREEN*, int, const char *, int);\fR
+.br
+\fBint slk_touch_sp(SCREEN*);\fR
+.br
+\fBint start_color_sp(SCREEN*);\fR
+.br
+\fBattr_t term_attrs_sp(SCREEN*);\fR
+.br
+\fBchtype termattrs_sp(SCREEN*);\fR
+.br
+\fBchar* termname_sp(SCREEN*);\fR
+.br
+\fBint typeahead_sp(SCREEN*, int);\fR
+.br
+\fBNCURSES_CONST char* unctrl_sp(SCREEN*, chtype);\fR
+.br
+\fBint ungetch_sp(SCREEN*, int);\fR
+.br
+\fBint ungetmouse_sp(SCREEN*,MEVENT *);\fR
+.br
+\fBint unget_wch_sp(SCREEN*, const wchar_t);\fR
+.br
+\fBint use_default_colors_sp(SCREEN*);\fR
+.br
+\fBvoid use_env_sp(SCREEN*, bool);\fR
+.br
+\fBint use_legacy_coding_sp(SCREEN*, int);\fR
+.br
+\fBint vid_attr_sp(SCREEN*, attr_t, short, void *);\fR
+.br
+\fBint vidattr_sp(SCREEN*, chtype);\fR
+.br
+\fBint vid_puts_sp(SCREEN*, attr_t, short, void *, NCURSES_SP_OUTC);\fR
+.br
+\fBint vidputs_sp(SCREEN*, chtype, NCURSES_SP_OUTC);\fR
+.br
+\fBwchar_t* wunctrl_sp(SCREEN*, cchar_t *);\fR
+.sp
+\fB#include <form.h>\fR
+.sp
+\fBint new_form_sp(SCREEN*, FIELD **);\fR
+.sp
+\fB#include <menu.h>\fR
+.sp
+\fBint new_menu_sp(SCREEN*, ITEM **);\fR
+.sp
+\fB#include <panel.h>\fR
+.sp
+\fBint ceiling_panel(SCREEN*);\fR
+.br
+\fBPANEL* ground_panel(SCREEN*);\fR
+.br
+\fBint update_panels_sp(SCREEN*);\fR
+.sp
+\fB#include <term.h>\fR
+.sp
+\fBint del_curterm_sp(SCREEN*, TERMINAL *);\fR
+.br
+\fBint putp_sp(SCREEN*, const char *);\fR
+.br
+\fBint tgetflag_sp(SCREEN*, char *, const char *);\fR
+.br
+\fBint tgetent_sp(SCREEN*, char *, const char *);\fR
+.br
+\fBint tgetnum_sp(SCREEN*, NCURSES_CONST char *);\fR
+.br
+\fBchar* tgetstr_sp(SCREEN*, NCURSES_CONST char *, char **);\fR
+.br
+\fBint tigetflag_sp(SCREEN*, NCURSES_CONST char *);\fR
+.br
+\fBint tigetnum_sp(SCREEN*, NCURSES_CONST char *);\fR
+.br
+\fBchar* tigetstr_sp(SCREEN*, NCURSES_CONST char *);\fR
+.br
+\fBint tputs_sp(SCREEN*, const char *, int, NCURSES_SP_OUTC);\fR
+.ad
+.br
+.SH DESCRIPTION
+This implementation can be configured to provide a set of functions which
+improve the ability to manage multiple screens.
+This feature can be added to any of the configurations supported by ncurses;
+it adds new entrypoints
+without changing the meaning of any of the existing ones.
+.PP
+.\" ***************************************************************************
+.SS IMPROVED FUNCTIONS
+Most of the functions are new versions of existing functions.
+A parameter is added at the front of the parameter list.
+It is a SCREEN pointer.
+.PP
+The existing functions all use the current screen,
+which is a static variable.
+The extended functions use the specified screen,
+thereby reducing the number of variables which must be modified
+to update multiple screens.
+.\" ***************************************************************************
+.SS NEW FUNCTIONS
+Here are the new functions:
+.TP 5
+ceiling_panel
+this returns a pointer to the topmost panel in the given screen.
+.TP 5
+ground_panel
+this returns a pointer to the lowest panel in the given screen.
+.TP 5
+new_prescr
+when creating a new screen, the library uses static variables which
+have been preset, e.g., by \fBuse_env\fP(3X), \fBfilter\fP(3X), etc.
+With the screen-pointer extension,
+there are situations where it must create a current screen before
+the unextended library does.
+The \fBnew_prescr\fP function is used internally to handle these cases.
+It is also provided as an entrypoint to allow applications to customize
+the library initialization.
+.\" ***************************************************************************
+.SH NOTES
+This extension introduces some new names:
+.TP 5
+NCURSES_SP_FUNCS
+This is set to the library patch-level number.
+In the unextended library, this is zero (0),
+to make it useful for checking if the extension is provided.
+.TP 5
+NCURSES_SP_NAME
+The new functions are named using the macro \fINCURSES_SP_NAME\fP,
+which hides the actual implementation.
+Currently this adds a "_sp" suffix to the name of the unextended function.
+This manual page indexes the extensions showing the full name.
+However the proper usage of these functions uses the macro,
+to provide for the possibility of changing the naming convention
+for specific library configurations.
+.TP 5
+NCURSES_SP_OUTC
+This is a new function-pointer type to use in the screen-pointer functions
+where an \fINCURSES_OUTC\fP is used in the unextended library.
+.TP 5
+NCURSES_OUTC
+This is a function-pointer type used for the cases where a function passes
+characters to the output stream, e.g., \fBvidputs\fP(3X).
+.PP
+.SH PORTABILITY
+These routines are specific to ncurses.
+They were not supported on Version 7, BSD or System V implementations.
+It is recommended that any code depending on ncurses extensions
+be conditioned using \fINCURSES_SP_FUNCS\fP.
+.SH SEE ALSO
+\fBcurses\fR(3X),
+\fBcurs_opaque\fR(3X),
+\fBcurs_threads\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termattrs.3x,v 1.10 2007/06/02 20:40:07 tom Exp $
+.\" $Id: curs_termattrs.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
.TH curs_termattrs 3X ""
.SH NAME
\fBbaudrate\fR,
\fBlongname\fR,
\fBterm_attrs\fR,
\fBtermattrs\fR,
-\fBtermname\fR - \fBcurses\fR environment query routines
+\fBtermname\fR \- \fBcurses\fR environment query routines
.SH SYNOPSIS
\fB#include <curses.h>\fR
.PP
14 characters.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_outopts\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp $
+.\" $Id: curs_termcap.3x,v 1.26 2010/12/04 18:38:55 tom Exp $
.TH curs_termcap 3X ""
+.na
+.hy 0
.ds n 5
.SH NAME
+\fBPC\fR,
+\fBUP\fR,
+\fBBC\fR,
+\fBospeed\fR,
\fBtgetent\fR,
\fBtgetflag\fR,
\fBtgetnum\fR,
\fBtgetstr\fR,
\fBtgoto\fR,
-\fBtputs\fR - direct \fBcurses\fR interface to the terminfo capability database
+\fBtputs\fR \- direct \fBcurses\fR interface to the terminfo capability database
+.ad
+.hy
.SH SYNOPSIS
\fB#include <curses.h>\fR
.br
terminfo entry has been compiled.
.PP
The \fBtgetent\fR routine loads the entry for \fIname\fR.
-It returns 1 on success, 0 if there is no such entry, and -1 if the
+It returns 1 on success, 0 if there is no such entry, and \-1 if the
terminfo database could not be found.
The emulation ignores the buffer pointer \fIbp\fR.
.PP
or zero if it is not available.
.PP
The \fBtgetnum\fR routine gets the numeric entry for \fIid\fR,
-or -1 if it is not available.
+or \-1 if it is not available.
.PP
The \fBtgetstr\fR routine returns the string entry for \fIid\fR,
or zero if it is not available.
In particular, some applications are reported to declare and/or
modify \fBospeed\fR.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBterminfo\fR(\*n),
+\fBterm_variables\fR(3X),
+\fBputc\fR(3).
.\"***************************************************************************
-.\" Copyright (c) 1999-2007,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_terminfo.3x,v 1.30 2008/08/16 20:53:27 tom Exp $
+.\" $Id: curs_terminfo.3x,v 1.35 2010/12/04 18:38:55 tom Exp $
.TH curs_terminfo 3X ""
.ds n 5
.na
\fBtigetflag\fR,
\fBtigetnum\fR,
\fBtigetstr\fR,
+\fBtiparm\fR,
\fBtparm\fR,
\fBtputs\fR,
\fBvid_attr\fR,
\fBvid_puts\fR,
\fBvidattr\fR,
-\fBvidputs\fR - \fBcurses\fR interfaces to terminfo database
+\fBvidputs\fR \- \fBcurses\fR interfaces to terminfo database
.ad
.hy
.SH SYNOPSIS
.br
\fBchar *tigetstr(char *\fR\fIcapname\fR\fB);\fR
.br
+\fBchar *tiparm(const char *\fR\fIstr\fR\fB, ...);\fR
+.br
.fi
.SH DESCRIPTION
These low-level routines must be called by programs that have to deal
or that it is a generic type,
having too little information for curses applications to run.
.TP 5
-.B -1
+.B \-1
means that the \fBterminfo\fR database could not be found.
.RE
.PP
parameters \fIpi\fR. A pointer is returned to the result of \fIstr\fR
with the parameters applied.
.PP
+\fBtiparm\fP is a newer form of \fBtparm\fP which uses \fI<stdarg.h>\fP
+rather than a fixed-parameter list.
+Its numeric parameters are integers (int) rather than longs.
+.PP
The \fBtputs\fR routine applies padding information to the string
\fIstr\fR and outputs it. The \fIstr\fR must be a terminfo string
variable or the return value from \fBtparm\fR, \fBtgetstr\fR, or
the value of the capability corresponding to the \fBterminfo\fR
\fIcapname\fR passed to them, such as \fBxenl\fR.
.PP
-The \fBtigetflag\fR routine returns the value \fB-1\fR if
+The \fBtigetflag\fR routine returns the value \fB\-1\fR if
\fIcapname\fR is not a boolean capability,
or \fB0\fR if it is canceled or absent from the terminal description.
.PP
-The \fBtigetnum\fR routine returns the value \fB-2\fR if
+The \fBtigetnum\fR routine returns the value \fB\-2\fR if
\fIcapname\fR is not a numeric capability,
-or \fB-1\fR if it is canceled or absent from the terminal description.
+or \fB\-1\fR if it is canceled or absent from the terminal description.
.PP
-The \fBtigetstr\fR routine returns the value \fB(char *)-1\fR
+The \fBtigetstr\fR routine returns the value \fB(char *)\-1\fR
if \fIcapname\fR is not a string capability,
or \fB0\fR if it is canceled or absent from the terminal description.
.PP
.PP
X/Open Curses prototypes \fBtparm\fR with a fixed number of parameters,
rather than a variable argument list.
-This implementation uses a variable argument list.
+This implementation uses a variable argument list, but can be
+configured to use the fixed-parameter list.
Portable applications should provide 9 parameters after the format;
zeroes are fine for this purpose.
.PP
+In response to comments by Thomas E. Dickey,
+X/Open Curses Issue 7 proposed the \fBtiparam\fP function in mid-2009.
+.PP
X/Open notes that after calling \fBmvcur\fR, the curses state may not match the
actual terminal state, and that an application should touch and refresh
the window before resuming normal curses calls.
\fBmvcur\fR is really a curses function which is not well specified.
.PP
X/Open states that the old location must be given for \fBmvcur\fP.
-This implementation allows the caller to use -1's for the old ordinates.
+This implementation allows the caller to use \-1's for the old ordinates.
In that case, the old location is unknown.
.PP
-Extended terminal capability names, e.g., as defined by \fBtic\ -x\fP,
+Extended terminal capability names, e.g., as defined by \fBtic\ \-x\fP,
are not stored in the arrays described in this section.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_initscr\fR(3X),
\fBcurs_kernel\fR(3X),
\fBcurs_termcap\fR(3X),
+\fBcurs_variables\fR(3X),
+\fBterm_variables\fR(3X),
\fBputc\fR(3),
\fBterminfo\fR(\*n)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_threads.3x,v 1.12 2008/04/12 18:22:51 tom Exp $
+.\" $Id: curs_threads.3x,v 1.18 2010/12/04 18:38:55 tom Exp $
.TH curs_threads 3X ""
+.de bP
+.IP \(bu 4
+..
.na
.hy 0
.SH NAME
\fBuse_screen\fR,
-\fBuse_window\fR - \fBcurses\fR thread support
+\fBuse_window\fR \- \fBcurses\fR thread support
.ad
.hy
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
\fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fR
+.br
\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fR
.br
+\fBint get_escdelay(void);\fR
+.br
\fBint set_escdelay(int size);\fR
.br
\fBint set_tabsize(int size);\fR
use the \fBset_escdelay\fP or \fBset_tabsize\fP functions.
Other global variables are not modifiable.
.PP
+The \fBget_escdelay\fP function returns the value for ESCDELAY.
+.PP
The \fBuse_window\fP and \fBuse_screen\fP functions provide coarse
granularity mutexes for their respective \fBWINDOW\fP and \fBSCREEN\fP
parameters, and call a user-supplied function,
altered during operation.
In addition,
they use data which is maintained within a hierarchy of scopes.
-.RS
-.TP 3
--
+.RS 3
+.bP
global data, e.g., used in the low-level terminfo or termcap interfaces.
-.TP 3
--
+.bP
terminal data, e.g., associated with a call to \fIset_curterm\fP.
The terminal data are initialized when screens are created.
-.TP 3
--
+.bP
screen data, e.g., associated with a call to \fInewterm\fP or \fIinitscr\fP.
-.TP 3
--
+.bP
window data, e.g., associated with a call to \fInewwin\fP or \fIsubwin\fP.
Windows are associated with screens.
Pads are not necessarily associated with a particular screen.
.IP
Most curses applications operate on one or more windows within a single screen.
-.TP 3
--
+.bP
reentrant, i.e., it uses only the data passed as parameters.
.RE
.PP
be conditioned using NCURSES_VERSION.
.SH SEE ALSO
\fBcurses\fR(3X),
-\fBcurs_opaque\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurs_opaque\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_touch.3x,v 1.11 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_touch.3x,v 1.14 2010/12/04 18:38:55 tom Exp $
.TH curs_touch 3X ""
.na
.hy 0
\fBuntouchwin\fR,
\fBwtouchln\fR,
\fBis_linetouched\fR,
-\fBis_wintouched\fR - \fBcurses\fR refresh control routines
+\fBis_wintouched\fR \- \fBcurses\fR refresh control routines
.ad
.hy
.SH SYNOPSIS
.SH NOTES
Note that all routines except \fBwtouchln\fR may be macros.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_refresh\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X).
.\"***************************************************************************
-.\" Copyright (c) 2000-2005,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 2000-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp $
+.\" $Id: curs_trace.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
.TH curs_trace 3X ""
.na
.hy 0
\fB_traceattr\fR,
\fB_traceattr2\fR,
\fB_nc_tracebits\fR,
+\fB_tracecchar_t\fR,
+\fB_tracecchar_t2\fR,
\fB_tracechar\fR,
\fB_tracechtype\fR,
\fB_tracechtype2\fR,
\fB_tracemouse\fR,
-\fBtrace\fR - \fBcurses\fR debugging routines
+\fBtrace\fR \- \fBcurses\fR debugging routines
.ad
.hy
.SH SYNOPSIS
.br
\fBchar *_nc_tracebits(void);\fR
.br
-\fBchar *_tracechar(int);\fR
+\fBchar * _tracecchar_t(const cchar_t *string);\fR
+.br
+\fBchar * _tracecchar_t2(int buffer, const cchar_t *string);\fR
+.br
+\fBchar *_tracechar(int ch);\fR
.br
\fBchar *_tracechtype(chtype ch);\fR
.br
These functions are normally available only with the debugging library
\fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
profile) by defining the symbol \fBTRACE\fR.
+Additionally, some functions are only available with the wide-character
+configuration of the libraries.
.PP
The principal parts of this interface are the \fBtrace\fR routine which
selectively enables different tracing features, and the \fB_tracef\fR
Some tracing features are enabled whenever the \fBtrace\fR parameter
is nonzero. Some features overlap.
The specific names are used as a guideline.
+.PP
+These functions check the \fBNCURSES_TRACE\fP environment variable,
+to set the tracing feature as if \fBtrace\fP was called:
+.RS
+filter,
+initscr,
+new_prescr,
+newterm,
+nofilter,
+ripoffline,
+setupterm,
+slk_init,
+tgetent
+.RE
+
.SH RETURN VALUE
Routines which return a value are designed to be used as parameters
to the \fB_tracef\fR routine.
but they are not compatible with ncurses.
.SH SEE ALSO
\fBcurses\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_util.3x,v 1.27 2008/10/25 23:45:41 tom Exp $
+.\" $Id: curs_util.3x,v 1.32 2010/12/04 18:38:55 tom Exp $
.TH curs_util 3X ""
+.de bP
+.IP \(bu 4
+..
.na
.hy 0
.SH NAME
\fBputwin\fR,
\fBunctrl\fR,
\fBuse_env\fR,
-\fBwunctrl\fR - miscellaneous \fBcurses\fR utility routines
+\fBwunctrl\fR \- miscellaneous \fBcurses\fR utility routines
.ad
.hy
.SH SYNOPSIS
Control characters are displayed in the \fB^\fR\fIX\fR notation.
Printing characters are displayed as is.
The corresponding \fBwunctrl\fR returns a printable representation of
-a wide-character.
+a wide character.
.PP
The \fBkeyname\fR routine returns a character string corresponding to the key \fIc\fR:
.RS 3
-.TP 3
--
+.bP
Printable characters are displayed as themselves, e.g., a one-character string containing the key.
-.TP 3
--
+.bP
Control characters are displayed in the \fB^\fR\fIX\fR notation.
-.TP 3
--
+.bP
DEL (character 127) is displayed as \fB^?\fP.
-.TP 3
--
+.bP
Values above 128 are either meta characters
(if the screen has not been initialized,
or if \fBmeta\fP has been called with a TRUE parameter),
-shown in the \fBM-\fR\fIX\fR notation,
+shown in the \fBM\-\fR\fIX\fR notation,
or are displayed as themselves.
In the latter case, the values may not be printable;
this follows the X/Open specification.
-.TP 3
--
+.bP
Values above 256 may be the names of the names of function keys.
-.TP 3
--
+.bP
Otherwise (if there is no corresponding name) the function returns null,
to denote an error.
X/Open also lists an "UNKNOWN KEY" return value, which some implementations
It states that \fBunctrl\fR and \fBwunctrl\fR will return a null pointer if
unsuccessful, but does not define any error conditions.
This implementation checks for three cases:
-.RS
-.TP 5
--
-the parameter is a 7-bit US-ASCII code.
+.RS 3
+.bP
+the parameter is a 7-bit US\-ASCII code.
This is the case that X/Open Curses documented.
-.TP 5
--
-the parameter is in the range 128-159, i.e., a C1 control code.
+.bP
+the parameter is in the range 128\-159, i.e., a C1 control code.
If \fBuse_legacy_coding\fP has been called with a \fB2\fP parameter,
\fBunctrl\fP returns the parameter, i.e., a one-character string with
the parameter as the first character.
initializing curses.
This implementation permits that,
and returns the ``~@'', etc., values in that case.
-.TP 5
--
+.bP
parameter values outside the 0 to 255 range.
\fBunctrl\fP returns a null pointer.
.RE
.PP
Likewise, the \fBmeta\fP function allows the caller to change the
output of \fBkeyname\fP, i.e.,
-it determines whether to use the `M-' prefix
+it determines whether to use the `M\-' prefix
for ``meta'' keys (codes in the range 128 to 255).
Both \fBuse_legacy_coding\fP and \fBmeta\fP succeed only after
curses is initialized.
X/Open Curses does not document the treatment of codes 128 to 159.
When treating them as ``meta'' keys
(or if \fBkeyname\fP is called before initializing curses),
-this implementation returns strings ``M-^@'', ``M-^A'', etc.
+this implementation returns strings ``M\-^@'', ``M\-^A'', etc.
.PP
The \fBkeyname\fP function may return the names of user-defined
-string capabilities which are defined in the terminfo entry via the \fB-x\fP
+string capabilities which are defined in the terminfo entry via the \fB\-x\fP
option of \fBtic\fP.
This implementation automatically assigns at run-time keycodes to
user-defined strings which begin with "k".
\fBcurs_initscr\fR(3X),
\fBcurs_kernel\fR(3X),
\fBcurs_scr_dump\fR(3X),
+\fBcurs_variables\fR(3X),
\fBlegacy_coding\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
--- /dev/null
+.\"***************************************************************************
+.\" Copyright (c) 2010 Free Software Foundation, Inc. *
+.\" *
+.\" Permission is hereby granted, free of charge, to any person obtaining a *
+.\" copy of this software and associated documentation files (the *
+.\" "Software"), to deal in the Software without restriction, including *
+.\" without limitation the rights to use, copy, modify, merge, publish, *
+.\" distribute, distribute with modifications, sublicense, and/or sell *
+.\" copies of the Software, and to permit persons to whom the Software is *
+.\" furnished to do so, subject to the following conditions: *
+.\" *
+.\" The above copyright notice and this permission notice shall be included *
+.\" in all copies or substantial portions of the Software. *
+.\" *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+.\" *
+.\" Except as contained in this notice, the name(s) of the above copyright *
+.\" holders shall not be used in advertising or otherwise to promote the *
+.\" sale, use or other dealings in this Software without prior written *
+.\" authorization. *
+.\"***************************************************************************
+.\"
+.\" $Id: curs_variables.3x,v 1.4 2010/12/04 18:38:55 tom Exp $
+.TH curs_variables 3X ""
+.de bP
+.IP \(bu 4
+..
+.ds n 5
+.na
+.hy 0
+.SH NAME
+\fBCOLORS\fR,
+\fBCOLOR_PAIRS\fR,
+\fBCOLS\fR,
+\fBESCDELAY\fR,
+\fBLINES\fR,
+\fBTABSIZE\fR,
+\fBcurscr\fR,
+\fBnewscr\fR,
+\fBstdscr\fR
+\- \fBcurses\fR global variables
+.ad
+.hy
+.SH SYNOPSIS
+.nf
+\fB#include <curses.h>\fR
+.PP
+\fBint COLOR_PAIRS;\fR
+.br
+\fBint COLORS;\fR
+.br
+\fBint COLS;\fR
+.br
+\fBint ESCDELAY;\fR
+.br
+\fBint LINES;\fR
+.br
+\fBint TABSIZE;\fR
+.br
+\fBWINDOW * curscr;\fR
+.br
+\fBWINDOW * newscr;\fR
+.br
+\fBWINDOW * stdscr;\fR
+.fi
+.SH DESCRIPTION
+This page summarizes variables provided by the \fBcurses\fP library.
+A more complete description is given in the \fBcurses\fP(3X) manual page.
+.PP
+Depending on the configuration, these may be actual variables,
+or macros (see \fBcurs_threads\fR(3X))
+which provide read-only access to \fIcurses\fP's state.
+In either case, applications should treat them as read-only to avoid
+confusing the library.
+.SS COLOR_PAIRS
+After initializing curses, this variable contains the number of color pairs
+which the terminal can support.
+Usually the number of color pairs will be the product \fBCOLORS\fP*\fBCOLORS\fP,
+however this is not always true:
+.bP
+a few terminals use HLS colors, which do not follow this rule
+.bP
+terminals supporting a large number of colors are limited by the number
+of color pairs that can be represented in a \fIsigned short\fP value.
+.SS COLORS
+After initializing curses, this variable contains the number of colors
+which the terminal can support.
+.SS COLS
+After initializing curses, this variable contains the width of the screen,
+i.e., the number of columns.
+.SS ESCDELAY
+This variable holds the number of milliseconds to wait after reading an
+escape character,
+to distinguish between an individual escape character entered on the
+keyboard from escape sequences sent by cursor- and function-keys
+(see curses(3X).
+.SS LINES
+After initializing curses, this variable contains the height of the screen,
+i.e., the number of lines.
+.SS TABSIZE
+This variable holds the number of columns used by the \fIcurses\fP library
+when converting a tab character to spaces as it adds the tab to a window
+(see curs_addch(3X).
+.SS The Current Screen
+This implementation of curses uses a special window \fBcurscr\fP to
+record its updates to the terminal screen.
+.SS The New Screen
+This implementation of curses uses a special window \fBnewscr\fP to
+hold updates to the terminal screen before applying them to \fBcurscr\fP.
+.SS The Standard Screen
+Upon initializing curses,
+a default window called \fBstdscr\fP,
+which is the size of the terminal screen, is created.
+Many curses functions use this window.
+.SH NOTES
+The curses library is initialized using either \fBinitscr\fR(3X),
+or \fBnewterm\fR(3X).
+.PP
+If \fBcurses\fP is configured to use separate curses/terminfo libraries,
+most of these variables reside in the curses library.
+.SH PORTABILITY
+ESCDELAY and TABSIZE are extensions,
+not provided in most other implementations of curses.
+.SH SEE ALSO
+\fBcurses\fR(3X),
+\fBcurs_threads\fR(3X),
+\fBterm_variables\fR(3X),
+\fBterminfo\fR(3X),
+\fBterminfo\fR(\*n).
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_window.3x,v 1.14 2006/02/25 21:49:19 tom Exp $
+.\" $Id: curs_window.3x,v 1.17 2010/12/04 18:38:55 tom Exp $
.TH curs_window 3X ""
.na
.hy 0
\fBwsyncup\fR,
\fBsyncok\fR,
\fBwcursyncup\fR,
-\fBwsyncdown\fR - create \fBcurses\fR windows
+\fBwsyncdown\fR \- create \fBcurses\fR windows
.ad
.hy
.SH SYNOPSIS
Calling \fBnewwin\fR creates and returns a pointer to a new window with the
given number of lines and columns. The upper left-hand corner of the window is
at line \fIbegin\fR_\fIy\fR, column \fIbegin\fR_\fIx\fR. If either
-\fInlines\fR or \fIncols\fR is zero, they default to \fBLINES -\fR
-\fIbegin\fR_\fIy\fR and \fBCOLS -\fR \fIbegin\fR_\fIx\fR. A new full-screen
+\fInlines\fR or \fIncols\fR is zero, they default to \fBLINES \-\fR
+\fIbegin\fR_\fIy\fR and \fBCOLS \-\fR \fIbegin\fR_\fIx\fR. A new full-screen
window is created by calling \fBnewwin(0,0,0,0)\fR.
.PP
Calling \fBdelwin\fR deletes the named window, freeing all memory
.SH PORTABILITY
The XSI Curses standard, Issue 4 describes these functions.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_refresh\fR(3X), \fBcurs_touch\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBcurs_touch\fR(3X),
+\fBcurs_variables\fR(3X)
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\"
.\" Author: Thomas E. Dickey 1997,1999,2000,2005
.\"
-.\" $Id: default_colors.3x,v 1.20 2006/12/24 15:02:53 tom Exp $
+.\" $Id: default_colors.3x,v 1.23 2011/01/03 21:52:27 Tim.van.der.Molen Exp $
.TH default_colors 3X ""
.SH NAME
\fBuse_default_colors\fR,
The first function,
.I use_default_colors()
tells the curses library to assign terminal default
-foreground/background colors to color number -1. So init_pair(x,COLOR_RED,-1)
-will initialize pair x as red on default background and init_pair(x,-1,COLOR_BLUE) will
+foreground/background colors to color number \-1. So init_pair(x,COLOR_RED,\-1)
+will initialize pair x as red on default background and init_pair(x,\-1,COLOR_BLUE) will
initialize pair x as default foreground on blue.
.PP
The other,
.I assume_default_colors()
is a refinement which tells which colors to paint for color pair 0.
-This function recognizes a special color number -1,
+This function recognizes a special color number \-1,
which denotes the default terminal color.
.PP
The following are equivalent:
.br
.I use_default_colors();
.br
-.I assume_default_colors(-1,-1);
+.I assume_default_colors(\-1,\-1);
.RE
.PP
These are ncurses extensions.
For other curses implementations, color
-number -1 does not mean anything, just as for ncurses before a
+number \-1 does not mean anything, just as for ncurses before a
successful call of \fIuse_default_colors()\fP or \fIassume_default_colors()\fP.
.PP
Other curses implementations do not allow an application to modify color pair 0.
These functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
They will fail if either the terminal does not support
the \fIorig_pair\fP or \fIorig_colors\fP capability.
-If the \fIinitialize_pair\fP capability is found, this causes an
+If the \fIinitialize_pair\fP capability is not found, this causes an
error as well.
.SH NOTES
Associated with this extension, the \fBinit_pair\fR function accepts
.SH AUTHOR
Thomas Dickey (from an analysis of the requirements for color xterm
for XFree86 3.1.2C, February 1996).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\"
.\" Author: Thomas E. Dickey 1997
.\"
-.\" $Id: define_key.3x,v 1.12 2006/02/25 21:49:19 tom Exp $
+.\" $Id: define_key.3x,v 1.14 2010/12/04 18:49:20 tom Exp $
.TH define_key 3X ""
.SH NAME
\fBdefine_key\fP \- define a keycode
Similarly, if the given keycode is negative or zero, any existing string
for the given definition is removed.
.SH RETURN VALUE
-The keycode must be greater than zero, else ERR is returned.
+The keycode must be greater than zero, and the string non-null,
+otherwise ERR is returned.
+ERR may also be returned if there is insufficient memory to allocate the
+data to store the definition.
+If no error is detected, OK is returned.
.SH PORTABILITY
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that
\fBkey_defined\fR(3X).
.SH AUTHOR
Thomas Dickey.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form.3x,v 1.22 2008/10/11 20:48:11 tom Exp $
+.\" $Id: form.3x,v 1.24 2010/12/04 18:40:45 tom Exp $
.TH form 3X ""
.SH NAME
-\fBform\fR - curses extension for programming forms
+\fBform\fR \- curses extension for programming forms
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.PP
The \fBform\fR library uses the \fBcurses\fR libraries.
To use the \fBform\fR library, link with the options
-\fB-lform -lcurses\fR.
+\fB\-lform \-lcurses\fR.
.PP
Your program should set up the locale, e.g.,
.sp
\fB<curses.h>\fR and \fB<eti.h>\fR.
.PP
In your library list, libform.a should be before libncurses.a; that is,
-you want to say `-lform -lncurses', not the other way around (which would
+you want to say `\-lform \-lncurses', not the other way around (which would
give you a link error using most linkers).
.SH PORTABILITY
These routines emulate the System V forms library. They were not supported on
.SH SEE ALSO
This describes \fBncurses\fR
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_cursor.3x,v 1.6 2006/11/04 18:50:24 tom Exp $
+.\" $Id: form_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp $
.TH form_cursor 3X ""
.SH NAME
-\fBform_cursor\fR - position a form window cursor
+\fBform_cursor\fR \- position a form window cursor
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_data.3x,v 1.8 2006/02/25 21:38:26 tom Exp $
+.\" $Id: form_data.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
.TH form_data 3X ""
.SH NAME
-\fBform_data\fR - test for off-screen data in given forms
+\fBform_data\fR \- test for off-screen data in given forms
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_driver.3x,v 1.16 2008/06/21 21:55:39 tom Exp $
+.\" $Id: form_driver.3x,v 1.22 2010/12/04 18:38:55 tom Exp $
.TH form_driver 3X ""
+.de bP
+.IP \(bu 4
+..
.SH NAME
-\fBform_driver\fR - command-processing loop of the form system
+\fBform_driver\fR \- command-processing loop of the form system
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH DESCRIPTION
Once a form has been posted (displayed), you should funnel input events to it
through \fBform_driver\fR. This routine has three major input cases:
-.TP 3
--
+.bP
The input is a form navigation request.
Navigation request codes are constants defined in \fB<form.h>\fP,
which are distinct from the key- and character codes returned by \fBwgetch\fP.
-.TP 3
--
+.bP
The input is a printable character.
Printable characters (which must be positive, less than 256) are
checked according to the program's locale settings.
-.TP 3
--
+.bP
The input is the KEY_MOUSE special key associated with an mouse event.
.PP
The form driver requests are as follows:
.PP
If the second argument is the KEY_MOUSE special key, the associated
mouse event is translated into one of the above pre-defined requests.
-Currently only clicks in the user window (e.g. inside the form display
+Currently only clicks in the user window (e.g., inside the form display
area or the decoration window) are handled.
.PP
If you click above the display region of the form:
-.RS
+.RS 3
.TP
a REQ_PREV_FIELD is generated for a single click,
.TP
.RE
.PP
If you click below the display region of the form:
-.RS
+.RS 3
.TP
a REQ_NEXT_FIELD is generated for a single click,
.TP
.RE
.PP
If you click at an field inside the display area of the form:
-.RS
-.TP 3
--
+.RS 3
+.bP
the form cursor is positioned to that field.
-.TP 3
--
+.bP
If you double-click a field,
the form cursor is positioned to that field
and \fBE_UNKNOWN_COMMAND\fR is returned.
be returned.
It is exactly the purpose of this return value to signal that an
application specific command should be executed.
-.TP 3
--
+.bP
If a translation
into a request was done, \fBform_driver\fR returns the result of this request.
.RE
.SH SEE ALSO
\fBcurses\fR(3X),
\fBform\fR(3X),
-\fBwgetch\fR(3X).
+\fBform_variables\fR(3X),
+\fBgetch\fR(3X).
.SH NOTES
The header file \fB<form.h>\fR automatically includes the header files
\fB<curses.h>\fR.
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field.3x,v 1.8 2006/11/04 18:01:38 tom Exp $
+.\" $Id: form_field.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
.TH form_field 3X ""
.SH NAME
-\fBform_field\fR - make and break connections between fields and forms
+\fBform_field\fR \- make and break connections between fields and forms
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
Version 7 or BSD versions.
.PP
The SVr4 forms library documentation specifies the \fBfield_count\fR error value
-as -1 (which is the value of \fBERR\fR).
+as \-1 (which is the value of \fBERR\fR).
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_attributes.3x,v 1.10 2006/11/04 18:51:26 tom Exp $
+.\" $Id: form_field_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
.TH form_field_attributes 3X ""
.SH NAME
-\fBform_field_attributes\fR - color and attribute control for form fields
+\fBform_field_attributes\fR \- color and attribute control for form fields
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_buffer.3x,v 1.15 2008/10/18 18:35:17 tom Exp $
+.\" $Id: form_field_buffer.3x,v 1.19 2010/12/04 18:38:55 tom Exp $
.TH form_field_buffer 3X ""
+.de bP
+.IP \(bu 4
+..
.SH NAME
-\fBform_field_buffer\fR - field buffer control
+\fBform_field_buffer\fR \- field buffer control
.SH SYNOPSIS
\fB#include <form.h>\fR
-.br
+.sp
int set_field_buffer(FIELD *field, int buf, const char *value);
.br
char *field_buffer(const FIELD *field, int buffer);
The function \fBset_field_buffer\fR sets the numbered buffer of the given field
to contain a given string:
.RS 3
-.TP 3
--
+.bP
Buffer 0 is the displayed value of the field.
-.TP 3
--
+.bP
Other numbered buffers may be allocated by applications through the \fBnbuf\fR
argument of (see \fBform_field_new\fR(3X))
but are not manipulated by the forms library.
The function \fBfield_buffer\fR returns a pointer to
the contents of the given numbered buffer:
.RS 3
-.TP 3
--
+.bP
The buffer contents always have the same length,
and are padded with trailing spaces
as needed to ensure this length is the same.
-.TP 3
--
+.bP
The buffer may contain leading spaces, depending on how it was set.
-.TP 3
--
+.bP
The buffer contents are set with \fBset_field_buffer\fP,
or as a side effect of any editing operations on the corresponding field.
-.TP 3
--
+.bP
Editing operations are based on the \fIwindow\fP which displays the field,
rather than a \fIstring\fP.
The window contains only printable characters, and is filled with blanks.
If you want the raw data, you must write your
own routine that copies the value out of the buffer and removes the leading
and trailing spaces.
-.TP 3
--
+.bP
Because editing operations change the content of the buffer to
correspond to the window, you should not rely on using buffers
for long-term storage of form data.
.SH NOTES
The header file \fB<form.h>\fR automatically includes the header file
.PP
-When configured for wide-characters, \fBfield_buffer\fP returns a pointer
+When configured for wide characters, \fBfield_buffer\fP returns a pointer
to temporary storage (allocated and freed by the library).
The application should not attempt to modify the data.
It will be freed on the next call to \fBfield_buffer\fP to return the
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_info.3x,v 1.10 2006/11/04 17:14:31 tom Exp $
+.\" $Id: form_field_info.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
.TH form_field_info 3X ""
.SH NAME
-\fBform_field_info\fR - retrieve field characteristics
+\fBform_field_info\fR \- retrieve field characteristics
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_just.3x,v 1.9 2006/11/04 17:12:00 tom Exp $
+.\" $Id: form_field_just.3x,v 1.11 2010/12/04 18:40:45 tom Exp $
.TH form_field_just 3X ""
.SH NAME
-\fBform_field_just\fR - retrieve field characteristics
+\fBform_field_just\fR \- retrieve field characteristics
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_new.3x,v 1.16 2007/06/02 20:40:07 tom Exp $
+.\" $Id: form_field_new.3x,v 1.18 2010/12/04 18:40:45 tom Exp $
.TH form_field_new 3X ""
.SH NAME
-\fBform_field_new\fR - create and destroy form fields
+\fBform_field_new\fR \- create and destroy form fields
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_opts.3x,v 1.13 2007/02/24 17:34:27 tom Exp $
+.\" $Id: form_field_opts.3x,v 1.16 2010/12/04 18:41:07 tom Exp $
.TH form_field_opts 3X ""
.SH NAME
-\fBform_field_opts\fR - set and get field options
+\fBform_field_opts\fR \- set and get field options
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
System error occurred (see \fBerrno\fR).
.SH SEE ALSO
\fBcurses\fR(3X), \fBform\fR(3X).
-.TP 5
.SH NOTES
The header file \fB<form.h>\fR automatically includes the header file
\fB<curses.h>\fR.
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_userptr.3x,v 1.8 2006/11/04 18:04:37 tom Exp $
+.\" $Id: form_field_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
.TH form_field_userptr 3X ""
.SH NAME
-\fBform_field_userptr\fR - associate application data with a form field
+\fBform_field_userptr\fR \- associate application data with a form field
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_validation.3x,v 1.16 2006/12/24 16:08:08 tom Exp $
+.\" $Id: form_field_validation.3x,v 1.20 2010/12/04 18:38:55 tom Exp $
.TH form_field_validation 3X ""
.SH NAME
-\fBform_field_validation\fR - data type validation for fields
+\fBform_field_validation\fR \- data type validation for fields
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
case-sensitivity; and a fifth \fBint\fR flag argument specifying whether a partial
match must be a unique one (if this flag is off, a prefix matches the first
of any set of more than one list elements with that prefix). Please notice
-that the string list is not copied, only a reference to it is stored in the
-field. So you should avoid using a list that lives in automatic variables
-on the stack.
+that the string list is copied. So you may use a list that lives in automatic variables on the stack.
.TP 5
TYPE_INTEGER
Integer data, parsable to an integer by \fBatoi(3)\fR. Requires a third
the data is valid if the regular expression matches it. Regular expressions
are in the format of \fBregcomp\fR and \fBregexec\fR. Please notice
that the regular expression must match the whole field. If you have for
-example an eight character wide field, a regular expression "^[0-9]*$" always
+example an eight character wide field, a regular expression "^[0\-9]*$" always
means that you have to fill all eight positions with digits. If you want to
-allow fewer digits, you may use for example "^[0-9]* *$" which is good for
-trailing spaces (up to an empty field), or "^ *[0-9]* *$" which is good for
+allow fewer digits, you may use for example "^[0\-9]* *$" which is good for
+trailing spaces (up to an empty field), or "^ *[0\-9]* *$" which is good for
leading and trailing spaces around the digits.
.TP 5
TYPE_IPV4
.B E_SYSTEM_ERROR
System error occurred (see \fBerrno\fR).
.SH SEE ALSO
-\fBcurses\fR(3X), \fBform\fR(3X).
+\fBcurses\fR(3X),
+\fBform\fR(3X),
+\fBform_variables\fR(3X).
.SH NOTES
The header file \fB<form.h>\fR automatically includes the header file
\fB<curses.h>\fR.
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_fieldtype.3x,v 1.14 2006/11/04 17:12:00 tom Exp $
+.\" $Id: form_fieldtype.3x,v 1.16 2010/12/04 18:40:45 tom Exp $
.TH form_fieldtype 3X ""
.SH NAME
-\fBform_fieldtype\fR - define validation-field types
+\fBform_fieldtype\fR \- define validation-field types
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_hook.3x,v 1.9 2007/02/24 17:34:18 tom Exp $
+.\" $Id: form_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp $
.TH form_hook 3X ""
.SH NAME
-\fBform_hook\fR - set hooks for automatic invocation by applications
+\fBform_hook\fR \- set hooks for automatic invocation by applications
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_new.3x,v 1.7 2006/11/04 17:12:00 tom Exp $
+.\" $Id: form_new.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
.TH form_new 3X ""
.SH NAME
-\fBform_new\fR - create and destroy forms
+\fBform_new\fR \- create and destroy forms
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_new_page.3x,v 1.8 2006/11/04 17:12:00 tom Exp $
+.\" $Id: form_new_page.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
.TH form_new_page 3X ""
.SH NAME
-\fBform_new_page\fR - form pagination functions
+\fBform_new_page\fR \- form pagination functions
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_opts.3x,v 1.9 2007/02/24 17:34:36 tom Exp $
+.\" $Id: form_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp $
.TH form_opts 3X ""
.SH NAME
-\fBform_opts\fR - set and get form options
+\fBform_opts\fR \- set and get form options
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_page.3x,v 1.10 2006/11/04 18:52:32 tom Exp $
+.\" $Id: form_page.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
.TH form_page 3X ""
.SH NAME
-\fBform_page\fR - set and get form page number
+\fBform_page\fR \- set and get form page number
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_post.3x,v 1.7 2006/11/04 18:53:20 tom Exp $
+.\" $Id: form_post.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
.TH form_post 3X ""
.SH NAME
-\fBform_post\fR - write or erase forms from associated subwindows
+\fBform_post\fR \- write or erase forms from associated subwindows
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_requestname.3x,v 1.7 2006/11/04 17:57:49 tom Exp $
+.\" $Id: form_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
.TH form_requestname 3X ""
.SH NAME
-\fBform_requestname\fR - handle printable form request names
+\fBform_requestname\fR \- handle printable form request names
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_userptr.3x,v 1.11 2006/11/04 18:43:24 tom Exp $
+.\" $Id: form_userptr.3x,v 1.13 2010/12/04 18:40:45 tom Exp $
.TH form_userptr 3X ""
.SH NAME
-\fBform_userptr\fR - associate application data with a form item
+\fBform_userptr\fR \- associate application data with a form item
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
-'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_userptr.3x,v 1.8 2006/11/04 18:04:37 tom Exp $
-.TH form_field_userptr 3X ""
+.\" $Id: form_variables.3x,v 1.3 2010/12/04 18:38:55 tom Exp $
+.TH form_variables 3X ""
+.ds n 5
+.na
+.hy 0
.SH NAME
-\fBform_field_userptr\fR - associate application data with a form field
+\fBTYPE_ALNUM\fR,
+\fBTYPE_ALPHA\fR,
+\fBTYPE_ENUM\fR,
+\fBTYPE_INTEGER\fR,
+\fBTYPE_IPV4\fR,
+\fBTYPE_NUMERIC\fR,
+\fBTYPE_REGEXP\fR
+\- form system global variables
+.ad
+.hy
.SH SYNOPSIS
+.nf
\fB#include <form.h>\fR
.br
-int set_field_userptr(FIELD *field, void*userptr);
-.br
-void *field_userptr(const FIELD *field);
+.PP
+\fBFIELDTYPE * TYPE_ALNUM;\fR
+\fBFIELDTYPE * TYPE_ALPHA;\fR
+\fBFIELDTYPE * TYPE_ENUM;\fR
+\fBFIELDTYPE * TYPE_INTEGER;\fR
+\fBFIELDTYPE * TYPE_IPV4;\fR
+\fBFIELDTYPE * TYPE_NUMERIC;\fR
+\fBFIELDTYPE * TYPE_REGEXP;\fR
.br
+.fi
.SH DESCRIPTION
-Every form field has a field that can be used to hold application-specific data
-(that is, the form-driver code leaves it alone). These functions get and set
-that field.
-.SH RETURN VALUE
-The function \fBfield_userptr\fR returns a pointer (which may be \fBNULL\fR).
-It does not set errno.
-.PP
-The function \fBset_field_userptr\fR returns \fBE_OK\fP (success).
-.SH SEE ALSO
-\fBcurses\fR(3X), \fBform\fR(3X).
-.SH NOTES
-The header file \fB<form.h>\fR automatically includes the header file
-\fB<curses.h>\fR.
+These are building blocks for the form library,
+defining fields that can be created using \fBset_fieldtype\fP(3X).
+Each provides functions for field- and character-validation,
+according to the given datatype.
+.SS TYPE_ALNUM
+This holds alphanumeric data.
+.SS TYPE_ALPHA
+This holds alphabetic data.
+.SS TYPE_ENUM
+This holds an enumerated type.
+.SS TYPE_INTEGER
+This holds a decimal integer.
+.SS TYPE_IPV4
+This holds an IPv4 internet address, e.g., "127.0.0.1".
+.SS TYPE_NUMERIC
+This holds a decimal number, with optional sign and decimal point.
+.SS TYPE_REGEXP
+This holds a regular expression.
.SH PORTABILITY
-These routines emulate the System V forms library. They were not supported on
-Version 7 or BSD versions.
-.PP
-The user pointer is a void pointer.
-We chose not to leave it as a char pointer for SVr4 compatibility.
-.SH AUTHORS
-Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
-S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+The \fBTYPE_IPV4\fP variable is an extension not provided by older
+implementations of the form library.
+.SH SEE ALSO
+\fBform\fR(3X).
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_win.3x,v 1.10 2006/11/04 17:12:00 tom Exp $
+.\" $Id: form_win.3x,v 1.13 2010/12/04 18:38:55 tom Exp $
.TH form_win 3X ""
.SH NAME
-\fBform_win\fR - make and break form window and subwindow associations
+\fBform_win\fR \- make and break form window and subwindow associations
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
.B E_NOT_CONNECTED
No items are connected to the form.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBform\fR(3X).
+\fBcurses\fR(3X),
+\fBcurs_variables\fR(3X),
+\fBform\fR(3X).
.SH NOTES
The header file \fB<form.h>\fR automatically includes the header file
\fB<curses.h>\fR.
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
.\"***************************************************************************
-.\" Copyright (c) 2003-2004,2006 Free Software Foundation, Inc. *
+.\" Copyright (c) 2003-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *