libpayload: PDCurses: Remove trailing whitespace
find . -type f |xargs perl -pi -e 's, *$,,' find . -type f |xargs perl -pi -e 's, *$,,' Change-Id: I62c2bc15b7c395a68b68422e701edf98b08e27c6 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/12399 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
committed by
Martin Roth
parent
9b7bb4911d
commit
5bbc5e5e0d
@@ -23,16 +23,16 @@ convenient order. Once all data have been added, the routine
|
||||
refresh() is called. The package then determines what changes have
|
||||
been made which affect the screen. The screen contents are then
|
||||
changed to reflect those characters now in the window, using a
|
||||
sequence of operations optimized for the type of terminal in use.
|
||||
sequence of operations optimized for the type of terminal in use.
|
||||
|
||||
At a higher level routines combining the actions of move() and addch()
|
||||
are defined, as are routines to add whole strings and to perform
|
||||
format conversions in the manner of printf().
|
||||
format conversions in the manner of printf().
|
||||
|
||||
Interfaces are also defined to erase the entire window and to specify
|
||||
the attributes of individual characters in the window. Attributes
|
||||
such as inverse video, underline and blink can be used on a
|
||||
per-character basis.
|
||||
per-character basis.
|
||||
|
||||
New windows can be created by allowing the application to build
|
||||
several images of the screen and display the appropriate one very
|
||||
@@ -41,18 +41,18 @@ each routine that manipulates the default window, stdscr, there is a
|
||||
corresponding routine prefixed with w to manipulate the contents of a
|
||||
specified window; for example, move() and wmove(). In fact, move(...)
|
||||
is functionally equivalent to wmove( stdscr, ...). This is similar to
|
||||
the interface offered by printf(...) and fprintf(stdout, ...).
|
||||
the interface offered by printf(...) and fprintf(stdout, ...).
|
||||
|
||||
Windows do not have to correspond to the entire screen. It is
|
||||
possible to create smaller windows, and also to indicate that the
|
||||
window is only partially visible on the screen. Furthermore, large
|
||||
windows or pads, which are bigger than the actual screen size, may be
|
||||
created.
|
||||
created.
|
||||
|
||||
Interfaces are also defined to allow input character manipulation and
|
||||
to disable and enable many input attributes: character echo, single
|
||||
character input with or without signal processing (cbreak or raw
|
||||
modes), carriage returns mapping to newlines, screen scrolling, etc.
|
||||
modes), carriage returns mapping to newlines, screen scrolling, etc.
|
||||
|
||||
|
||||
Data Types and the <curses.h> Header
|
||||
@@ -60,14 +60,14 @@ Data Types and the <curses.h> Header
|
||||
|
||||
The data types supported by curses are described in this section.
|
||||
|
||||
As the library supports a procedural interface to the data types, actual
|
||||
structure contents are not described. All curses data are manipulated
|
||||
As the library supports a procedural interface to the data types, actual
|
||||
structure contents are not described. All curses data are manipulated
|
||||
using the routines provided.
|
||||
|
||||
|
||||
THE <curses.h> HEADER
|
||||
|
||||
The <curses.h> header defines various constants and declares the data
|
||||
The <curses.h> header defines various constants and declares the data
|
||||
types that are available to the application.
|
||||
|
||||
|
||||
@@ -82,8 +82,8 @@ The following data types are declared:
|
||||
cchar_t the wide-character equivalent of chtype
|
||||
attr_t for WA_-style attributes
|
||||
|
||||
The actual WINDOW and SCREEN objects used to store information are
|
||||
created by the corresponding routines and a pointer to them is provided.
|
||||
The actual WINDOW and SCREEN objects used to store information are
|
||||
created by the corresponding routines and a pointer to them is provided.
|
||||
All manipulation is through that pointer.
|
||||
|
||||
|
||||
@@ -93,15 +93,15 @@ The following variables are defined:
|
||||
|
||||
LINES number of lines on terminal screen
|
||||
COLS number of columns on terminal screen
|
||||
stdscr pointer to the default screen window
|
||||
stdscr pointer to the default screen window
|
||||
curscr pointer to the current screen image
|
||||
SP pointer to the current SCREEN struct
|
||||
Mouse_status status of the mouse
|
||||
COLORS number of colors available
|
||||
COLOR_PAIRS number of color pairs available
|
||||
TABSIZE size of one TAB block
|
||||
acs_map[] alternate character set map
|
||||
ttytype[] terminal name/description
|
||||
acs_map[] alternate character set map
|
||||
ttytype[] terminal name/description
|
||||
|
||||
|
||||
CONSTANTS
|
||||
@@ -118,7 +118,7 @@ GENERAL
|
||||
|
||||
VIDEO ATTRIBUTES
|
||||
|
||||
Normally, attributes are a property of the character.
|
||||
Normally, attributes are a property of the character.
|
||||
|
||||
For chtype:
|
||||
|
||||
@@ -129,7 +129,7 @@ For chtype:
|
||||
A_INVIS invisible
|
||||
A_ITALIC italic
|
||||
A_LEFTLINE line along the left edge
|
||||
A_PROTECT protected (?) -- PDCurses renders this as a
|
||||
A_PROTECT protected (?) -- PDCurses renders this as a
|
||||
combination of the *LINE attributes
|
||||
A_REVERSE reverse video
|
||||
A_RIGHTLINE line along the right edge
|
||||
@@ -140,8 +140,8 @@ For chtype:
|
||||
A_CHARTEXT bit-mask to extract a character
|
||||
A_COLOR bit-mask to extract a color-pair
|
||||
|
||||
Not all attributes will work on all terminals. A_RIGHTLINE, A_LEFTLINE
|
||||
and A_ITALIC are specific to PDCurses. A_INVIS and A_ITALIC are given
|
||||
Not all attributes will work on all terminals. A_RIGHTLINE, A_LEFTLINE
|
||||
and A_ITALIC are specific to PDCurses. A_INVIS and A_ITALIC are given
|
||||
the same value in PDCurses.
|
||||
|
||||
For attr_t:
|
||||
@@ -158,14 +158,14 @@ For attr_t:
|
||||
WA_STANDOUT same as A_STANDOUT
|
||||
WA_UNDERLINE same as A_UNDERLINE
|
||||
|
||||
Note that while A_LEFTLINE and A_RIGHTLINE are PDCurses-specific,
|
||||
WA_LEFT and WA_RIGHT are standard. The following are also defined, for
|
||||
compatibility, but currently have no effect in PDCurses: WA_HORIZONTAL,
|
||||
Note that while A_LEFTLINE and A_RIGHTLINE are PDCurses-specific,
|
||||
WA_LEFT and WA_RIGHT are standard. The following are also defined, for
|
||||
compatibility, but currently have no effect in PDCurses: WA_HORIZONTAL,
|
||||
WA_LOW, WA_TOP, WA_VERTICAL.
|
||||
|
||||
THE ALTERNATE CHARACTER SET
|
||||
|
||||
For use in chtypes and with related functions. These are a portable way
|
||||
For use in chtypes and with related functions. These are a portable way
|
||||
to represent graphics characters on different terminals.
|
||||
|
||||
VT100-compatible symbols -- box characters:
|
||||
@@ -200,7 +200,7 @@ for optimum portability:
|
||||
ACS_RARROW right arrow
|
||||
ACS_DARROW down arrow
|
||||
ACS_UARROW up arrow
|
||||
ACS_BOARD checkerboard -- lighter (less dense) than
|
||||
ACS_BOARD checkerboard -- lighter (less dense) than
|
||||
ACS_CKBOARD
|
||||
ACS_LANTERN lantern symbol
|
||||
ACS_BLOCK solid block
|
||||
@@ -230,7 +230,7 @@ Box character aliases:
|
||||
ACS_SBSB same as ACS_VLINE
|
||||
ACS_SSSS same as ACS_PLUS
|
||||
|
||||
For cchar_t and wide-character functions, WACS_ equivalents are also
|
||||
For cchar_t and wide-character functions, WACS_ equivalents are also
|
||||
defined.
|
||||
|
||||
COLORS
|
||||
@@ -246,7 +246,7 @@ For use with init_pair(), color_set(), etc.:
|
||||
COLOR_YELLOW
|
||||
COLOR_WHITE
|
||||
|
||||
Use these instead of numeric values. The definition of the colors
|
||||
Use these instead of numeric values. The definition of the colors
|
||||
depends on the implementation of curses.
|
||||
|
||||
|
||||
@@ -354,19 +354,19 @@ The virtual keypad is arranged like this:
|
||||
left B2 right
|
||||
C1 down C3
|
||||
|
||||
This list is incomplete -- see curses.h for the full list, and use the
|
||||
testcurs demo to see what values are actually returned. The above are
|
||||
just the keys required by X/Open. In particular, PDCurses defines many
|
||||
This list is incomplete -- see curses.h for the full list, and use the
|
||||
testcurs demo to see what values are actually returned. The above are
|
||||
just the keys required by X/Open. In particular, PDCurses defines many
|
||||
CTL_ and ALT_ combinations; these are not portable.
|
||||
|
||||
|
||||
FUNCTIONS
|
||||
|
||||
The following table lists each curses routine and the name of the manual
|
||||
The following table lists each curses routine and the name of the manual
|
||||
page on which it is described.
|
||||
|
||||
Functions from the X/Open curses standard -- complete, except for
|
||||
getch() and ungetch(), which are implemented as macros for DOS
|
||||
Functions from the X/Open curses standard -- complete, except for
|
||||
getch() and ungetch(), which are implemented as macros for DOS
|
||||
compatibility:
|
||||
|
||||
Curses Function Manual Page Name
|
||||
@@ -649,9 +649,9 @@ compatibility:
|
||||
wtouchln touch
|
||||
wvline border
|
||||
|
||||
Wide-character functions from the X/Open standard -- these are only
|
||||
available when PDCurses is built with PDC_WIDE defined, and the
|
||||
prototypes are only available from curses.h when PDC_WIDE is defined
|
||||
Wide-character functions from the X/Open standard -- these are only
|
||||
available when PDCurses is built with PDC_WIDE defined, and the
|
||||
prototypes are only available from curses.h when PDC_WIDE is defined
|
||||
before its inclusion in your app:
|
||||
|
||||
addnwstr addstr
|
||||
@@ -781,7 +781,7 @@ Functions from ncurses:
|
||||
wenclose mouse
|
||||
wmouse_trafo mouse
|
||||
|
||||
PDCurses-specific functions -- avoid these in code that's intended to be
|
||||
PDCurses-specific functions -- avoid these in code that's intended to be
|
||||
portable:
|
||||
|
||||
addrawch addch
|
||||
|
@@ -1,93 +1,93 @@
|
||||
SDL Considerations
|
||||
==================
|
||||
|
||||
There are no special requirements to use PDCurses for SDL -- all
|
||||
PDCurses-compatible code should work fine. (In fact, you can even build
|
||||
against the Win32 console pdcurses.dll, and then swap in the SDL
|
||||
pdcurses.dll.) Nothing extra is needed beyond the base SDL library.
|
||||
There are no special requirements to use PDCurses for SDL -- all
|
||||
PDCurses-compatible code should work fine. (In fact, you can even build
|
||||
against the Win32 console pdcurses.dll, and then swap in the SDL
|
||||
pdcurses.dll.) Nothing extra is needed beyond the base SDL library.
|
||||
However, there are some optional special features, described here.
|
||||
|
||||
The principal limitation of this port is that input is currently
|
||||
restricted to ASCII (i.e., 0-127), plus the special keys like KEY_LEFT.
|
||||
(You could have Unicode input, but then the input wouldn't match the
|
||||
output, which is in Code Page 437.) Also, see the note about the
|
||||
The principal limitation of this port is that input is currently
|
||||
restricted to ASCII (i.e., 0-127), plus the special keys like KEY_LEFT.
|
||||
(You could have Unicode input, but then the input wouldn't match the
|
||||
output, which is in Code Page 437.) Also, see the note about the
|
||||
potential for incomplete output under "PDC_update_rects()", below.
|
||||
|
||||
|
||||
Fonts
|
||||
-----
|
||||
|
||||
The font is a simple BMP, 32 characters wide by 8 characters tall,
|
||||
preferably with a palette. (BMPs without palettes still work, but in
|
||||
that case, no attributes will be available, nor will the cursor work.)
|
||||
The first entry in the palette (usually black) is treated as the
|
||||
background color; the last entry (usually white) is treated as the
|
||||
foreground. These are changed or made transparent as appropriate; any
|
||||
other colors in the palette are passed through unchanged. So -- although
|
||||
a one-bit depth is sufficient for a normal font -- you could redraw some
|
||||
The font is a simple BMP, 32 characters wide by 8 characters tall,
|
||||
preferably with a palette. (BMPs without palettes still work, but in
|
||||
that case, no attributes will be available, nor will the cursor work.)
|
||||
The first entry in the palette (usually black) is treated as the
|
||||
background color; the last entry (usually white) is treated as the
|
||||
foreground. These are changed or made transparent as appropriate; any
|
||||
other colors in the palette are passed through unchanged. So -- although
|
||||
a one-bit depth is sufficient for a normal font -- you could redraw some
|
||||
characters as multi-colored tiles.
|
||||
|
||||
The font must be monospaced. The size of each character is derived by
|
||||
dividing the width of the BMP by 32 and the height by 8. There is no
|
||||
The font must be monospaced. The size of each character is derived by
|
||||
dividing the width of the BMP by 32 and the height by 8. There is no
|
||||
constraint on the dimensions.
|
||||
|
||||
As provided in the default font and expected by acs_map[], the font is
|
||||
in Code Page 437 form. But you can of course use any layout if you're
|
||||
As provided in the default font and expected by acs_map[], the font is
|
||||
in Code Page 437 form. But you can of course use any layout if you're
|
||||
not relying on correct values for the ACS_* macros.
|
||||
|
||||
The font can be set via the environment variable PDC_FONT. If it's not
|
||||
set, PDCurses looks for a file named "pdcfont.bmp" in the current
|
||||
directory at the time of initscr(). If neither is found, it uses the
|
||||
The font can be set via the environment variable PDC_FONT. If it's not
|
||||
set, PDCurses looks for a file named "pdcfont.bmp" in the current
|
||||
directory at the time of initscr(). If neither is found, it uses the
|
||||
built-in default font encoded in deffont.h.
|
||||
|
||||
|
||||
Backgrounds
|
||||
-----------
|
||||
|
||||
PDCurses for SDL supports an optional background image BMP. This is used
|
||||
whenever start_color() has not been called (see the ptest demo for an
|
||||
example), or when use_default_colors() has been called after
|
||||
start_color(), and the background color of a pair has been set to -1
|
||||
(see newdemo, worm, and rain for examples). The usage parallels that of
|
||||
ncurses in an appropriate terminal (e.g., Gnome Terminal). The image is
|
||||
PDCurses for SDL supports an optional background image BMP. This is used
|
||||
whenever start_color() has not been called (see the ptest demo for an
|
||||
example), or when use_default_colors() has been called after
|
||||
start_color(), and the background color of a pair has been set to -1
|
||||
(see newdemo, worm, and rain for examples). The usage parallels that of
|
||||
ncurses in an appropriate terminal (e.g., Gnome Terminal). The image is
|
||||
tiled to cover the PDCurses window, and can be any size or depth.
|
||||
|
||||
As with the font, you can point to a location for the background via the
|
||||
environment variable PDC_BACKGROUND; "pdcback.bmp" is the fallback.
|
||||
As with the font, you can point to a location for the background via the
|
||||
environment variable PDC_BACKGROUND; "pdcback.bmp" is the fallback.
|
||||
(There is no default background.)
|
||||
|
||||
|
||||
Icons
|
||||
-----
|
||||
|
||||
The icon (used with SDL_WM_SetIcon() -- not used for the executable
|
||||
file) can be set via the environment variable PDC_ICON, and falls back
|
||||
to "pdcicon.bmp", and then to the built-in icon from deficon.h. The
|
||||
built-in icon is the PDCurses logo, as seen in ../x11/little_icon.xbm.
|
||||
The SDL docs say that the icon must be 32x32, at least for use with MS
|
||||
The icon (used with SDL_WM_SetIcon() -- not used for the executable
|
||||
file) can be set via the environment variable PDC_ICON, and falls back
|
||||
to "pdcicon.bmp", and then to the built-in icon from deficon.h. The
|
||||
built-in icon is the PDCurses logo, as seen in ../x11/little_icon.xbm.
|
||||
The SDL docs say that the icon must be 32x32, at least for use with MS
|
||||
Windows.
|
||||
|
||||
If pdc_screen is preinitialized (see below), PDCurses does not attempt
|
||||
If pdc_screen is preinitialized (see below), PDCurses does not attempt
|
||||
to set the icon.
|
||||
|
||||
|
||||
Screen size
|
||||
-----------
|
||||
|
||||
The default screen size is 80x25 characters (whatever size they may be),
|
||||
but you can override this via the environment variables PDC_COLS and/or
|
||||
PDC_LINES. (Some other ports use COLS and LINES; this is not done here
|
||||
because those values are, or should be, those of the controlling
|
||||
terminal, and PDCurses for SDL is independent of the terminal.) If
|
||||
The default screen size is 80x25 characters (whatever size they may be),
|
||||
but you can override this via the environment variables PDC_COLS and/or
|
||||
PDC_LINES. (Some other ports use COLS and LINES; this is not done here
|
||||
because those values are, or should be, those of the controlling
|
||||
terminal, and PDCurses for SDL is independent of the terminal.) If
|
||||
pdc_screen is preinitialized (see below), these are ignored.
|
||||
|
||||
|
||||
Integration with SDL
|
||||
--------------------
|
||||
|
||||
If you want to go further, you can mix PDCurses and SDL functions. (Of
|
||||
course this is extremely non-portable!) To aid you, there are several
|
||||
external variables and functions specific to the SDL port; you could
|
||||
If you want to go further, you can mix PDCurses and SDL functions. (Of
|
||||
course this is extremely non-portable!) To aid you, there are several
|
||||
external variables and functions specific to the SDL port; you could
|
||||
include pdcsdl.h, or just add the declarations you need in your code:
|
||||
|
||||
PDCEX SDL_Surface *pdc_screen, *pdc_font, *pdc_icon, *pdc_back;
|
||||
@@ -96,57 +96,57 @@ include pdcsdl.h, or just add the declarations you need in your code:
|
||||
void PDC_update_rects(void);
|
||||
void PDC_retile(void);
|
||||
|
||||
pdc_screen is the main surface, created by SDL_SetVideoMode(), unless
|
||||
it's preset before initscr(). You can perform normal SDL operations on
|
||||
this surface, but PDCurses won't respect them when it updates. (For
|
||||
that, see PDC_retile().) As an alternative, you can preinitialize this
|
||||
surface before calling initscr(). In that case, you can use pdc_sheight,
|
||||
pdc_swidth, pdc_yoffset and/or pdc_xoffset (q.v.) to confine PDCurses to
|
||||
only a specific area of the surface, reserving the rest for other SDL
|
||||
operations. If you preinitialize pdc_screen, you'll have to close it
|
||||
yourself; PDCurses will ignore resize events, and won't try to set the
|
||||
icon. Also note that if you preinitialize pdc_screen, it need not be the
|
||||
pdc_screen is the main surface, created by SDL_SetVideoMode(), unless
|
||||
it's preset before initscr(). You can perform normal SDL operations on
|
||||
this surface, but PDCurses won't respect them when it updates. (For
|
||||
that, see PDC_retile().) As an alternative, you can preinitialize this
|
||||
surface before calling initscr(). In that case, you can use pdc_sheight,
|
||||
pdc_swidth, pdc_yoffset and/or pdc_xoffset (q.v.) to confine PDCurses to
|
||||
only a specific area of the surface, reserving the rest for other SDL
|
||||
operations. If you preinitialize pdc_screen, you'll have to close it
|
||||
yourself; PDCurses will ignore resize events, and won't try to set the
|
||||
icon. Also note that if you preinitialize pdc_screen, it need not be the
|
||||
display surface.
|
||||
|
||||
pdc_font, pdc_icon, and pdc_back are the SDL_surfaces for the font,
|
||||
icon, and background, respectively. You can set any or all of them
|
||||
before initscr(), and thus override any of the other ways to set them.
|
||||
pdc_font, pdc_icon, and pdc_back are the SDL_surfaces for the font,
|
||||
icon, and background, respectively. You can set any or all of them
|
||||
before initscr(), and thus override any of the other ways to set them.
|
||||
But note that pdc_icon will be ignored if pdc_screen is preset.
|
||||
|
||||
pdc_sheight and pdc_swidth are the dimensions of the area of pdc_screen
|
||||
to be used by PDCurses. You can preset them before initscr(); if either
|
||||
is not set, it defaults to the full screen size minus the x or y offset,
|
||||
pdc_sheight and pdc_swidth are the dimensions of the area of pdc_screen
|
||||
to be used by PDCurses. You can preset them before initscr(); if either
|
||||
is not set, it defaults to the full screen size minus the x or y offset,
|
||||
as appropriate.
|
||||
|
||||
pdc_xoffset and pdc_yoffset are the x and y offset for the area of
|
||||
pdc_xoffset and pdc_yoffset are the x and y offset for the area of
|
||||
pdc_screen to be used by PDCurses. See the sdltest demo for an example.
|
||||
|
||||
PDC_retile() makes a copy of pdc_screen, then tiles it with the
|
||||
background image, if any. The resulting surface is used as the
|
||||
background for transparent character cells. PDC_retile() is called from
|
||||
initscr() and resize_term(). However, you can also use it at other
|
||||
times, to take advantage of the way it copies pdc_screen: Draw some SDL
|
||||
stuff; call PDC_retile(); do some curses stuff -- it will use whatever
|
||||
was on pdc_screen as the background. Then you can erase the curses
|
||||
screen, do some more SDL stuff, and call PDC_retile() again to make a
|
||||
new background. (If you don't erase the curses screen, it will be
|
||||
incorporated into the background when you call PDC_retile().) But this
|
||||
PDC_retile() makes a copy of pdc_screen, then tiles it with the
|
||||
background image, if any. The resulting surface is used as the
|
||||
background for transparent character cells. PDC_retile() is called from
|
||||
initscr() and resize_term(). However, you can also use it at other
|
||||
times, to take advantage of the way it copies pdc_screen: Draw some SDL
|
||||
stuff; call PDC_retile(); do some curses stuff -- it will use whatever
|
||||
was on pdc_screen as the background. Then you can erase the curses
|
||||
screen, do some more SDL stuff, and call PDC_retile() again to make a
|
||||
new background. (If you don't erase the curses screen, it will be
|
||||
incorporated into the background when you call PDC_retile().) But this
|
||||
only works if no background image is set.
|
||||
|
||||
PDC_update_rects() is how the screen actually gets updated. For
|
||||
performance reasons, when drawing, PDCurses for SDL maintains a table of
|
||||
rectangles that need updating, and only updates (by calling this
|
||||
function) during getch(), napms(), or when the table gets full.
|
||||
Normally, this is sufficient; but if you're pausing in some way other
|
||||
than by using napms(), and you're not doing keyboard checks, you may get
|
||||
an incomplete update. If that happens, you can call PDC_update_rects()
|
||||
PDC_update_rects() is how the screen actually gets updated. For
|
||||
performance reasons, when drawing, PDCurses for SDL maintains a table of
|
||||
rectangles that need updating, and only updates (by calling this
|
||||
function) during getch(), napms(), or when the table gets full.
|
||||
Normally, this is sufficient; but if you're pausing in some way other
|
||||
than by using napms(), and you're not doing keyboard checks, you may get
|
||||
an incomplete update. If that happens, you can call PDC_update_rects()
|
||||
manually.
|
||||
|
||||
|
||||
Interaction with stdio
|
||||
----------------------
|
||||
|
||||
As with X11, it's a bad idea to mix curses and stdio calls. (In fact,
|
||||
that's true for PDCurses on any platform; but especially these two,
|
||||
which don't run under terminals.) Depending on how SDL is built, stdout
|
||||
As with X11, it's a bad idea to mix curses and stdio calls. (In fact,
|
||||
that's true for PDCurses on any platform; but especially these two,
|
||||
which don't run under terminals.) Depending on how SDL is built, stdout
|
||||
and stderr may be redirected to files.
|
||||
|
@@ -1,35 +1,35 @@
|
||||
X11 Considerations
|
||||
==================
|
||||
|
||||
PDCurses for X11 uses the System V IPC shared memory facility, along
|
||||
with sockets, to share data between the curses program and the child
|
||||
PDCurses for X11 uses the System V IPC shared memory facility, along
|
||||
with sockets, to share data between the curses program and the child
|
||||
process created to manage the X stuff.
|
||||
|
||||
When compiling your application, you need to include the <curses.h> or
|
||||
<xcurses.h> that comes with PDCurses. You also need to link your code
|
||||
with libXCurses. You may need to link with the following libraries under
|
||||
When compiling your application, you need to include the <curses.h> or
|
||||
<xcurses.h> that comes with PDCurses. You also need to link your code
|
||||
with libXCurses. You may need to link with the following libraries under
|
||||
X11R5:
|
||||
Xaw Xmu Xt X11
|
||||
|
||||
or, under X11R6:
|
||||
Xaw Xmu Xt X11 SM ICE Xext
|
||||
|
||||
You can run "xcurses-config --libs" to show the link parameters for your
|
||||
You can run "xcurses-config --libs" to show the link parameters for your
|
||||
system. If using dynamic linking, on some systems, "-lXCurses" suffices.
|
||||
|
||||
By calling Xinitscr() rather than initscr(), you can pass your program
|
||||
name and resource overrides to PDCurses. The program name is used as the
|
||||
title of the X window, and for defining X resources specific to your
|
||||
By calling Xinitscr() rather than initscr(), you can pass your program
|
||||
name and resource overrides to PDCurses. The program name is used as the
|
||||
title of the X window, and for defining X resources specific to your
|
||||
program.
|
||||
|
||||
|
||||
Interaction with stdio
|
||||
----------------------
|
||||
|
||||
Be aware that curses programs that expect to have a normal tty
|
||||
underneath them will be very disappointed! Output directed to stdout
|
||||
will go to the xterm that invoked the PDCurses application, or to the
|
||||
console if not invoked directly from an xterm. Similarly, stdin will
|
||||
Be aware that curses programs that expect to have a normal tty
|
||||
underneath them will be very disappointed! Output directed to stdout
|
||||
will go to the xterm that invoked the PDCurses application, or to the
|
||||
console if not invoked directly from an xterm. Similarly, stdin will
|
||||
expect its input from the same place as stdout.
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ normalFont: The name of a fixed width font.
|
||||
Default: 7x13
|
||||
|
||||
italicFont: The name of a fixed width font to be used for
|
||||
characters with A_ITALIC attributes. Must have the
|
||||
characters with A_ITALIC attributes. Must have the
|
||||
same cell size as normalFont.
|
||||
Default: 7x13 (obviously not an italic font)
|
||||
|
||||
@@ -155,14 +155,14 @@ colorBoldWhite: COLOR_WHITE combined with A_BOLD.
|
||||
|
||||
bitmap: The name of a valid bitmap file of depth 1 (black and white)
|
||||
used for the application's icon. The file is an X bitmap.
|
||||
Default: a 32x32 or 64x64 pixmap depending on the
|
||||
Default: a 32x32 or 64x64 pixmap depending on the
|
||||
window manager
|
||||
|
||||
pixmap: The name of a valid pixmap file of any depth
|
||||
supported by the window manager (color) for the
|
||||
application's icon, The file is an X11 pixmap. This
|
||||
resource is only available if the libXpm package has
|
||||
been installed (most systems have this by default).
|
||||
pixmap: The name of a valid pixmap file of any depth
|
||||
supported by the window manager (color) for the
|
||||
application's icon, The file is an X11 pixmap. This
|
||||
resource is only available if the libXpm package has
|
||||
been installed (most systems have this by default).
|
||||
This resource overrides the "bitmap" resource.
|
||||
Default: none, uses default bitmap above
|
||||
|
||||
@@ -177,28 +177,28 @@ translations: Translations enable the user to customize the action
|
||||
<BtnUp>: XCursesButton()
|
||||
<BtnMotion>: XCursesButton()
|
||||
|
||||
The most useful action for KeyPress translations is
|
||||
string(). The argument to the string() action can be
|
||||
either a string or a hex representation of a
|
||||
The most useful action for KeyPress translations is
|
||||
string(). The argument to the string() action can be
|
||||
either a string or a hex representation of a
|
||||
character; e.g., string(0x1b) will send the ASCII
|
||||
escape character to the application; string("[11~")
|
||||
escape character to the application; string("[11~")
|
||||
will send [ 1 1 ~ , as separate keystrokes.
|
||||
|
||||
shmmin: On most systems, there are two Unix kernel parameters
|
||||
that determine the allowable size of a shared memory
|
||||
segment. These parameters are usually something like
|
||||
segment. These parameters are usually something like
|
||||
SHMMIN and SHMMAX. To use shared memory, a program
|
||||
must allocate a segment of shared memory that is
|
||||
between these two values. Usually these values are
|
||||
like 1 for SHMMIN and some large number for SHMMAX.
|
||||
like 1 for SHMMIN and some large number for SHMMAX.
|
||||
Sometimes the Unix kernel is configured to have a
|
||||
value of SHMMIN that is bigger than the size of one
|
||||
of the shared memory segments that libXCurses uses.
|
||||
of the shared memory segments that libXCurses uses.
|
||||
On these systems an error message like:
|
||||
|
||||
Cannot allocate shared memory for SCREEN: Invalid argument
|
||||
|
||||
will result. To overcome this problem, this resource
|
||||
will result. To overcome this problem, this resource
|
||||
should be set to the kernel value for SHMMIN. This
|
||||
ensures that a shared memory segment will always be
|
||||
bigger than the kernel value for SHMMIN (and
|
||||
@@ -212,7 +212,7 @@ borderColor: The color of the border around the screen.
|
||||
borderWidth: The width in pixels of the border around the screen.
|
||||
Default: 0
|
||||
|
||||
clickPeriod: The period (in milliseconds) between a button
|
||||
clickPeriod: The period (in milliseconds) between a button
|
||||
press and a button release that determines if a click
|
||||
of a button has occurred.
|
||||
Default: 100
|
||||
@@ -223,10 +223,10 @@ doubleClickPeriod: The period (in milliseconds) between two button
|
||||
Default: 200
|
||||
|
||||
composeKey: The name of the X key that defines the "compose key",
|
||||
which is used to enter characters in the Latin-1
|
||||
character set above 0xA0. (See "Compose Keys for
|
||||
Latin-1" below.) This is used only when PDCurses is
|
||||
built without XIM support. While in compose mode, the
|
||||
which is used to enter characters in the Latin-1
|
||||
character set above 0xA0. (See "Compose Keys for
|
||||
Latin-1" below.) This is used only when PDCurses is
|
||||
built without XIM support. While in compose mode, the
|
||||
text cursor will appear as a hollow rectangle.
|
||||
Default: Multi_key
|
||||
|
||||
@@ -234,8 +234,8 @@ composeKey: The name of the X key that defines the "compose key",
|
||||
Using Resources
|
||||
---------------
|
||||
|
||||
All applications have a top-level class name of "XCurses". If Xinitscr()
|
||||
is used, it sets an application's top-level widget name. (Otherwise the
|
||||
All applications have a top-level class name of "XCurses". If Xinitscr()
|
||||
is used, it sets an application's top-level widget name. (Otherwise the
|
||||
name defaults to "PDCurses".)
|
||||
|
||||
Examples for app-defaults or .Xdefaults:
|
||||
@@ -275,26 +275,26 @@ the*pointerBackColor: black
|
||||
the.bitmap: /home/mark/the/the64.xbm
|
||||
the.pixmap: /home/mark/the/the64.xpm
|
||||
|
||||
Resources may also be passed as parameters to the Xinitscr() function.
|
||||
Parameters are strings in the form of switches; e.g., to set the color
|
||||
"red" to "indianred", and the number of lines to 30, the string passed
|
||||
Resources may also be passed as parameters to the Xinitscr() function.
|
||||
Parameters are strings in the form of switches; e.g., to set the color
|
||||
"red" to "indianred", and the number of lines to 30, the string passed
|
||||
to Xinitscr would be: "-colorRed indianred -lines 30"
|
||||
|
||||
|
||||
Compose Keys for Latin-1
|
||||
------------------------
|
||||
|
||||
When built without XIM support, PDCurses for X11 provides its own,
|
||||
limited compose key system for Latin-1 characters. The available
|
||||
combinations are listed here. For a given character, any of the
|
||||
combinations shown in the last column may be used. To generate a
|
||||
character, press the "compose" key followed by one of the pairs of
|
||||
keystrokes. Where no key is evident, the spacebar is used. Thus, to
|
||||
generate the NO-BREAK SPACE, press the "compose" key followed by two
|
||||
When built without XIM support, PDCurses for X11 provides its own,
|
||||
limited compose key system for Latin-1 characters. The available
|
||||
combinations are listed here. For a given character, any of the
|
||||
combinations shown in the last column may be used. To generate a
|
||||
character, press the "compose" key followed by one of the pairs of
|
||||
keystrokes. Where no key is evident, the spacebar is used. Thus, to
|
||||
generate the NO-BREAK SPACE, press the "compose" key followed by two
|
||||
hits of the spacebar.
|
||||
|
||||
With a typical modern X server, you can get many more compose key
|
||||
combinations by using XIM instead. Configure PDCurses with --enable-xim
|
||||
With a typical modern X server, you can get many more compose key
|
||||
combinations by using XIM instead. Configure PDCurses with --enable-xim
|
||||
to use XIM support.
|
||||
|
||||
This document is encoded in UTF-8.
|
||||
@@ -404,13 +404,13 @@ This document is encoded in UTF-8.
|
||||
Deprecated
|
||||
----------
|
||||
|
||||
XCursesProgramName is no longer used. To set the program name, you must
|
||||
XCursesProgramName is no longer used. To set the program name, you must
|
||||
use Xinitscr(), or PDC_set_title() to set just the window title.
|
||||
|
||||
The XCursesExit() function is now called automatically via atexit().
|
||||
(Multiple calls to it are OK, so you don't need to remove it if you've
|
||||
The XCursesExit() function is now called automatically via atexit().
|
||||
(Multiple calls to it are OK, so you don't need to remove it if you've
|
||||
already added it for previous versions of PDCurses.)
|
||||
|
||||
XCURSES is no longer defined automatically, but need not be defined,
|
||||
unless you want the X11-specific prototypes. (Normal curses programs
|
||||
XCURSES is no longer defined automatically, but need not be defined,
|
||||
unless you want the X11-specific prototypes. (Normal curses programs
|
||||
won't need it.)
|
||||
|
Reference in New Issue
Block a user