From de1171129de1a41b76ffae70b95179ece1e1f5eb Mon Sep 17 00:00:00 2001 From: William McBrine Date: Mon, 17 Dec 2018 23:58:04 -0500 Subject: [PATCH] Merge sdl.md and x11.md into their respective READMEs. --- doc/Makefile | 10 +- doc/README.md | 3 +- doc/sdl.md | 176 --------------------- doc/x11.md | 417 ------------------------------------------------ sdl1/README.md | 176 +++++++++++++++++++++ sdl2/README.md | 176 +++++++++++++++++++++ x11/README.md | 419 +++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 773 insertions(+), 604 deletions(-) delete mode 100644 doc/sdl.md delete mode 100644 doc/x11.md diff --git a/doc/Makefile b/doc/Makefile index 30a40a3d..3ef8e51d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -4,7 +4,7 @@ all: manual manual: PDCurses.md -PDCurses.md: manext intro.md x11.md sdl.md ../curses.h +PDCurses.md: manext intro.md ../curses.h cat intro.md > PDCurses.md echo PDCurses Definitions and Variables >> PDCurses.md echo ================================== >> PDCurses.md @@ -13,14 +13,6 @@ PDCurses.md: manext intro.md x11.md sdl.md ../curses.h echo ================== >> PDCurses.md ./manext ../pdcurses/*.c >> PDCurses.md ./manext ../x11/*.c >> PDCurses.md - cat x11.md >> PDCurses.md - echo >> PDCurses.md - echo >> PDCurses.md - echo \ --------------------------------------------------------------------------- \ ->> PDCurses.md - echo >> PDCurses.md - cat sdl.md >> PDCurses.md manext: manext.c diff --git a/doc/README.md b/doc/README.md index 595b47d8..96d827bf 100644 --- a/doc/README.md +++ b/doc/README.md @@ -11,8 +11,7 @@ Building -------- - Type "make". ("make clean" to remove the built files.) A Unix-like - environment is required for the Makefile. This is called automatically - when doing a top-level make of the X11 port. + environment is required for the Makefile. Distribution Status diff --git a/doc/sdl.md b/doc/sdl.md deleted file mode 100644 index 7b8e8b3a..00000000 --- a/doc/sdl.md +++ /dev/null @@ -1,176 +0,0 @@ -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 Windows 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 SDL ports operate in one of two ways, depending on whether or not -they were built with WIDE=Y: - - -8-bit mode ----------- - -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 -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 -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 -built-in default font encoded in deffont.h. - - -16-bit mode ------------ - -Instead of a BMP, PDC_FONT points to a TrueType font. Only true -monospaced fonts work well. The font can be set at compile time via -PDC_FONT_PATH, and/or at runtime via pdc_ttffont. The environment -variable PDC_FONT_SIZE is also available to control the font size (also -as a compile-time define, and at runtime as pdc_font_size.) The -character mapping for chtypes is 16-bit Unicode (the Basic Multilingual -Plane). - -The default font (if not redefined) is based on the OS: - -- Windows: C:/Windows/Fonts/lucon.ttf - -- Mac: /Library/Fonts/Courier New.ttf - -- Other: /usr/share/fonts/truetype/freefont/FreeMono.ttf - - -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 ozdemo, 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. -(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 -Windows. - -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 -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 ports; 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; - PDCEX int pdc_sheight, pdc_swidth, pdc_yoffset, pdc_xoffset; - - PDCEX void PDC_update_rects(void); - PDCEX void PDC_retile(void); - -The SDL2 port adds: - - PDCEX SDL_Window *pdc_window; - -pdc_screen is the main surface, unless it's preset before initscr(). In -SDL1, pdc_screen is created by SDL_SetVideoMode(); in SDL2, pdc_window -is the main window, created by SDL_CreateWindow(), and pdc_screen is set -by SDL_GetWindowSurface(pdc_window). (See sdltest.c for examples.) 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 (in 8-bit mode), 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, -as appropriate. - -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 -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() -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 -and stderr may be redirected to files. diff --git a/doc/x11.md b/doc/x11.md deleted file mode 100644 index 00860f82..00000000 --- a/doc/x11.md +++ /dev/null @@ -1,417 +0,0 @@ -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 -process created to manage the X stuff. - -When compiling your application, you need to include the \ or -\ 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 -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 -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 -expect its input from the same place as stdout. - - -X Resources ------------ - -PDCurses for X11 recognizes the following resources: - -### lines - -Specifies the number of lines the "screen" will have. Directly equates -to LINES. There is no theoretical maximum. The minimum value must be 2. -Default: 24 - -### cols - -Specifies the number of columns the "screen" will have. Directly equates -to COLS. There is no theoretical maximum. The minimum value must be 2. -Default: 80 - -### normalFont - -The name of a fixed width font. Defaults: -- narrow: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 -- wide: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 - -### italicFont - -The name of a fixed width font to be used for characters with A_ITALIC -attributes. Must have the same cell size as normalFont. Defaults: -- narrow: -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-1 -- wide: -misc-fixed-medium-o-normal--20-200-75-75-c-100-iso10646-1 - -### boldFont - -The name of a fixed width font to be used for characters with A_BOLD -attributes. Must have the same cell size as normalFont. Defaults: -- narrow: -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 -- wide: -misc-fixed-bold-r-normal--20-200-75-75-c-100-iso10646-1 - -### pointer - -The name of a valid pointer cursor. Default: xterm - -### pointerForeColor - -The foreground color of the pointer. Default: black - -### pointerBackColor - -The background color of the pointer. Default: white - -### cursorColor - -### textCursor - -The alignment of the text cursor; horizontal or vertical. Default: -horizontal - -### colorBlack - -The color of the COLOR_BLACK attribute. Default: Black - -### colorRed - -The color of the COLOR_RED attribute. Default: red3 - -### colorGreen - -The color of the COLOR_GREEN attribute. Default: green3 - -### colorYellow - -The color of the COLOR_YELLOW attribute. Default: yellow3 - -### colorBlue - -The color of the COLOR_BLUE attribute. Default: blue3 - -### colorMagenta - -The color of the COLOR_MAGENTA attribute. Default: magenta3 - -### colorCyan - -The color of the COLOR_CYAN attribute. Default: cyan3 - -### colorWhite - -The color of the COLOR_WHITE attribute. Default: Grey - -### colorBoldBlack - -COLOR_BLACK combined with A_BOLD. Default: grey40 - -### colorBoldRed - -COLOR_RED combined with A_BOLD. Default: red1 - -### colorBoldGreen - -COLOR_GREEN combined with A_BOLD. Default: green1 - -### colorBoldYellow - -COLOR_YELLOW combined with A_BOLD. Default: yellow1 - -### colorBoldBlue - -COLOR_BLUE combined with A_BOLD. Default: blue1 - -### colorBoldMagenta - -COLOR_MAGENTA combined with A_BOLD. Default: magenta1 - -### colorBoldCyan - -COLOR_CYAN combined with A_BOLD. Default: cyan1 - -### colorBoldWhite - -COLOR_WHITE combined with A_BOLD. Default: White - -### 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 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). This resource overrides the -"bitmap" resource. Default: none, uses default bitmap above - -### translations - -Translations enable the user to customize the action that occurs when a -key, combination of keys, or a button is pressed. The translations are -similar to those used by xterm. - -Defaults: - - : XCursesKeyPress() - : XCursesKeyPress() - : XCursesButton() - : XCursesButton() - : 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 character; e.g., string(0x1b) will send the ASCII -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 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. 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. On these systems an error message like: - - Cannot allocate shared memory for SCREEN: Invalid argument - -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 hopefully -less than SHMMAX!) Default: 0 - -### borderColor - -The color of the border around the screen. Default: black - -### borderWidth - -The width in pixels of the border around the screen. Default: 0 - -### 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 - -### doubleClickPeriod - -The period (in milliseconds) between two button press events that -determines if a double click of a button has occurred. 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 text cursor will appear -as a hollow rectangle. Default: Multi_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 -name defaults to "PDCurses".) - -Examples for app-defaults or .Xdefaults: - - ! - ! resources for XCurses class of programs - ! - XCurses*lines: 30 - XCurses*cols: 80 - XCurses*normalFont: 9x13 - XCurses*bitmap: /tmp/xcurses.xbm - XCurses*pointer: top_left_arrow - ! - ! resources for testcurs - XCurses - ! - testcurs.colorRed: orange - testcurs.colorBlack: midnightblue - testcurs.lines: 25 - *testcurs.Translations: #override \n \ - F12: string(0x1b) string("[11~") \n - ! - ! resources for THE - XCurses - ! - ! resources with the * wildcard can be overridden by a parameter passed - ! to initscr() - ! - the*normalFont: 9x15 - the*lines: 40 - the*cols: 86 - the*pointer: xterm - the*pointerForeColor: white - the*pointerBackColor: black - ! - ! resources with the . format can not be overridden by a parameter passed - ! to Xinitscr() - ! - 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 -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 -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 -to use XIM support. - -This document is encoded in UTF-8. - - Hex| Dec |Chr| Description ISO 10646-1:1993(E) | Compose key combinations - ---+-----+---+---------------------------------+------------------------- - A0 | 160 | | NO-BREAK SPACE | - A1 | 161 | ¡ | INVERTED EXCLAMATION MARK | ! !! - A2 | 162 | ¢ | CENT SIGN | c| |c c/ c$ C$ C| - A3 | 163 | £ | POUND SIGN | L- L$ L= l- l$ l= |- - A4 | 164 | ¤ | CURRENCY SIGN | xo ox XO g$ - A5 | 165 | ¥ | YEN SIGN | =y y= =Y Y= Y- y$ y- - A6 | 166 | ¦ | BROKEN BAR | | || vb VB |^ - A7 | 167 | § | SECTION SIGN | SO SS s! S! so - A8 | 168 | ¨ | DIAERESIS | " "" - A9 | 169 | © | COPYRIGHT SIGN | CO co OC - AA | 170 | ª | FEMININE ORDINAL INDICATOR | sa SA a_ A_ - AB | 171 | « | LEFT DOUBLE ANGLE QUOTES | << - AC | 172 | ¬ | NOT SIGN | -, no NO - AD | 173 | ­ | SOFT HYPHEN | - -- - AE | 174 | ® | REGISTERED SIGN | RO ro OR - AF | 175 | ¯ | MACRON | -^ _^ __ - B0 | 176 | ° | DEGREE SIGN | o 0^ 0* de DE ^0 - B1 | 177 | ± | PLUS-MINUS SIGN | -+ +- - B2 | 178 | ² | SUPERSCRIPT TWO | 2 2^ s2 ^2 - B3 | 179 | ³ | SUPERSCRIPT THREE | 3 3^ s3 ^3 - B4 | 180 | ´ | ACUTE ACCENT | ' '' - B5 | 181 | µ | MICRO SIGN | u /u /U *m *M - B6 | 182 | ¶ | PILCROW SIGN | p! P! pg PG - B7 | 183 | · | MIDDLE DOT | . .^ .. - B8 | 184 | ¸ | CEDILLA | , ,, - B9 | 185 | ¹ | SUPERSCRIPT ONE | 1 1^ s1 ^1 - BA | 186 | º | MASCULINE ORDINAL INDICATOR | o_ s0 S0 - BB | 187 | » | RIGHT DOUBLE ANGLE QUOTES | >> - BC | 188 | ¼ | VULGAR FRACTION ONE QUARTER | 14 - BD | 189 | ½ | VULGAR FRACTION ONE HALF | 12 - BE | 190 | ¾ | VULGAR FRACTION THREE QUARTERS | 34 - BF | 191 | ¿ | INVERTED QUESTION MARK | ? ?? - C0 | 192 | À | CAPITAL A WITH GRAVE ACCENT | `A A` - C1 | 193 | Á | CAPITAL A WITH ACUTE ACCENT | 'A A' - C2 | 194 | Â | CAPITAL A WITH CIRCUMFLEX ACCENT| ^A A^ A> - C3 | 195 | Ã | CAPITAL A WITH TILDE | ~A A~ A- - C4 | 196 | Ä | CAPITAL A WITH DIAERESIS | "A A" - C5 | 197 | Å | CAPITAL A WITH RING ABOVE | oA Ao A* OA *A - C6 | 198 | Æ | CAPITAL LIGATURE AE | AE - C7 | 199 | Ç | CAPITAL C WITH CEDILLA | ,C C, - C8 | 200 | È | CAPITAL E WITH GRAVE ACCENT | `E E` - C9 | 201 | É | CAPITAL E WITH ACUTE ACCENT | 'E E' - CA | 202 | Ê | CAPITAL E WITH CIRCUMFLEX ACCENT| ^E E^ E> - CB | 203 | Ë | CAPITAL E WITH DIAERESIS | "E E" - CC | 204 | Ì | CAPITAL I WITH GRAVE ACCENT | `I I` - CD | 205 | Í | CAPITAL I WITH ACUTE ACCENT | 'I I' - CE | 206 | Î | CAPITAL I WITH CIRCUMFLEX ACCENT| ^I I^ I> - CF | 207 | Ï | CAPITAL I WITH DIAERESIS | "I I" - D0 | 208 | Ð | CAPITAL ETH | D- - D1 | 209 | Ñ | CAPITAL N WITH TILDE | ~N N~ N- - D2 | 210 | Ò | CAPITAL O WITH GRAVE ACCENT | `O O` - D3 | 211 | Ó | CAPITAL O WITH ACUTE ACCENT | 'O O' - D4 | 212 | Ô | CAPITAL O WITH CIRCUMFLEX ACCENT| ^O O^ O> - D5 | 213 | Õ | CAPITAL O WITH TILDE | ~O O~ O- - D6 | 214 | Ö | CAPITAL O WITH DIAERESIS | "O O" - D7 | 215 | × | MULTIPLICATION SIGN | x xx XX mu MU - D8 | 216 | Ø | CAPITAL O WITH STROKE | /O O/ - D9 | 217 | Ù | CAPITAL U WITH GRAVE ACCENT | `U U` - DA | 218 | Ú | CAPITAL U WITH ACUTE ACCENT | 'U U' - DB | 219 | Û | CAPITAL U WITH CIRCUMFLEX ACCENT| ^U U^ U> - DC | 220 | Ü | CAPITAL U WITH DIAERESIS | "U U" - DD | 221 | Ý | CAPITAL Y WITH ACUTE ACCENT | 'Y Y' - DE | 222 | Þ | CAPITAL THORN | P TH |P - DF | 223 | ß | SMALL SHARP S | ss - E0 | 224 | à | SMALL A WITH GRAVE ACCENT | `a a` - E1 | 225 | á | SMALL A WITH ACUTE ACCENT | 'a a' - E2 | 226 | â | SMALL A WITH CIRCUMFLEX ACCENT | ^a a^ a> - E3 | 227 | ã | SMALL A WITH TILDE | ~a a~ a- - E4 | 228 | ä | SMALL A WITH DIAERESIS | "a a" - E5 | 229 | å | SMALL A WITH RING ABOVE | oa ao Oa a* *a - E6 | 230 | æ | SMALL LIGATURE AE | ae - E7 | 231 | ç | SMALL C WITH CEDILLA | ,c c, - E8 | 232 | è | SMALL E WITH GRAVE ACCENT | `e e` - E9 | 233 | é | SMALL E WITH ACUTE ACCENT | 'e e' - EA | 234 | ê | SMALL E WITH CIRCUMFLEX ACCENT | ^e e^ e> - EB | 235 | ë | SMALL E WITH DIAERESIS | "e e" - EC | 236 | ì | SMALL I WITH GRAVE ACCENT | `i i` - ED | 237 | í | SMALL I WITH ACUTE ACCENT | 'i i' - EE | 238 | î | SMALL I WITH CIRCUMFLEX ACCENT | ^i i^ i> - EF | 239 | ï | SMALL I WITH DIAERESIS | "i i" - F0 | 240 | ð | SMALL ETH | d- - F1 | 241 | ñ | SMALL N WITH TILDE | ~n n~ n- - F2 | 242 | ò | SMALL O WITH GRAVE ACCENT | `o o` - F3 | 243 | ó | SMALL O WITH ACUTE ACCENT | 'o o' - F4 | 244 | ô | SMALL O WITH CIRCUMFLEX ACCENT | ^o o^ o> - F5 | 245 | õ | SMALL O WITH TILDE | ~o o~ o- - F6 | 246 | ö | SMALL O WITH DIAERESIS | "o o" - F7 | 247 | ÷ | DIVISION SIGN | -: :- - F8 | 248 | ø | SMALL O WITH OBLIQUE BAR | /o o/ - F9 | 249 | ù | SMALL U WITH GRAVE ACCENT | `u u` - FA | 250 | ú | SMALL U WITH ACUTE ACCENT | 'u u' - FB | 251 | û | SMALL U WITH CIRCUMFLEX ACCENT | ^u u^ u> - FC | 252 | ü | SMALL U WITH DIAERESIS | "u u" - FD | 253 | ý | SMALL Y WITH ACUTE ACCENT | 'y y' - FE | 254 | þ | SMALL THORN | p th |p - FF | 255 | ÿ | SMALL Y WITH DIAERESIS | "y y" - - -Deprecated ----------- - -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 -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 -won't need it.) diff --git a/sdl1/README.md b/sdl1/README.md index ebd2b8b1..5703b166 100644 --- a/sdl1/README.md +++ b/sdl1/README.md @@ -21,6 +21,182 @@ Building effect unless WIDE=Y is also set. +Usage +----- + +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 Windows 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 SDL ports operate in one of two ways, depending on whether or not +they were built with WIDE=Y: + + +### 8-bit mode + +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 +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 +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 +built-in default font encoded in deffont.h. + + +### 16-bit mode + +Instead of a BMP, PDC_FONT points to a TrueType font. Only true +monospaced fonts work well. The font can be set at compile time via +PDC_FONT_PATH, and/or at runtime via pdc_ttffont. The environment +variable PDC_FONT_SIZE is also available to control the font size (also +as a compile-time define, and at runtime as pdc_font_size.) The +character mapping for chtypes is 16-bit Unicode (the Basic Multilingual +Plane). + +The default font (if not redefined) is based on the OS: + +- Windows: C:/Windows/Fonts/lucon.ttf + +- Mac: /Library/Fonts/Courier New.ttf + +- Other: /usr/share/fonts/truetype/freefont/FreeMono.ttf + + +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 ozdemo, 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. +(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 +Windows. + +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 +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 ports; 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; + PDCEX int pdc_sheight, pdc_swidth, pdc_yoffset, pdc_xoffset; + + PDCEX void PDC_update_rects(void); + PDCEX void PDC_retile(void); + +The SDL2 port adds: + + PDCEX SDL_Window *pdc_window; + +pdc_screen is the main surface, unless it's preset before initscr(). In +SDL1, pdc_screen is created by SDL_SetVideoMode(); in SDL2, pdc_window +is the main window, created by SDL_CreateWindow(), and pdc_screen is set +by SDL_GetWindowSurface(pdc_window). (See sdltest.c for examples.) 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 (in 8-bit mode), 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, +as appropriate. + +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 +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() +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 +and stderr may be redirected to files. + + Distribution Status ------------------- diff --git a/sdl2/README.md b/sdl2/README.md index 70e6e0d2..db89f01e 100644 --- a/sdl2/README.md +++ b/sdl2/README.md @@ -24,6 +24,182 @@ Building effect unless WIDE=Y is also set. +Usage +----- + +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 Windows 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 SDL ports operate in one of two ways, depending on whether or not +they were built with WIDE=Y: + + +### 8-bit mode + +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 +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 +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 +built-in default font encoded in deffont.h. + + +### 16-bit mode + +Instead of a BMP, PDC_FONT points to a TrueType font. Only true +monospaced fonts work well. The font can be set at compile time via +PDC_FONT_PATH, and/or at runtime via pdc_ttffont. The environment +variable PDC_FONT_SIZE is also available to control the font size (also +as a compile-time define, and at runtime as pdc_font_size.) The +character mapping for chtypes is 16-bit Unicode (the Basic Multilingual +Plane). + +The default font (if not redefined) is based on the OS: + +- Windows: C:/Windows/Fonts/lucon.ttf + +- Mac: /Library/Fonts/Courier New.ttf + +- Other: /usr/share/fonts/truetype/freefont/FreeMono.ttf + + +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 ozdemo, 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. +(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 +Windows. + +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 +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 ports; 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; + PDCEX int pdc_sheight, pdc_swidth, pdc_yoffset, pdc_xoffset; + + PDCEX void PDC_update_rects(void); + PDCEX void PDC_retile(void); + +The SDL2 port adds: + + PDCEX SDL_Window *pdc_window; + +pdc_screen is the main surface, unless it's preset before initscr(). In +SDL1, pdc_screen is created by SDL_SetVideoMode(); in SDL2, pdc_window +is the main window, created by SDL_CreateWindow(), and pdc_screen is set +by SDL_GetWindowSurface(pdc_window). (See sdltest.c for examples.) 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 (in 8-bit mode), 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, +as appropriate. + +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 +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() +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 +and stderr may be redirected to files. + + Distribution Status ------------------- diff --git a/x11/README.md b/x11/README.md index 835c65c1..4d9d80b2 100644 --- a/x11/README.md +++ b/x11/README.md @@ -33,6 +33,425 @@ Building panel.h are installed in (by default) /usr/local/include/xcurses. +Usage +----- + +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 \ or +\ 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 +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 +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 +expect its input from the same place as stdout. + + +X Resources +----------- + +PDCurses for X11 recognizes the following resources: + +### lines + +Specifies the number of lines the "screen" will have. Directly equates +to LINES. There is no theoretical maximum. The minimum value must be 2. +Default: 24 + +### cols + +Specifies the number of columns the "screen" will have. Directly equates +to COLS. There is no theoretical maximum. The minimum value must be 2. +Default: 80 + +### normalFont + +The name of a fixed width font. Defaults: +- narrow: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 +- wide: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 + +### italicFont + +The name of a fixed width font to be used for characters with A_ITALIC +attributes. Must have the same cell size as normalFont. Defaults: +- narrow: -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-1 +- wide: -misc-fixed-medium-o-normal--20-200-75-75-c-100-iso10646-1 + +### boldFont + +The name of a fixed width font to be used for characters with A_BOLD +attributes. Must have the same cell size as normalFont. Defaults: +- narrow: -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 +- wide: -misc-fixed-bold-r-normal--20-200-75-75-c-100-iso10646-1 + +### pointer + +The name of a valid pointer cursor. Default: xterm + +### pointerForeColor + +The foreground color of the pointer. Default: black + +### pointerBackColor + +The background color of the pointer. Default: white + +### cursorColor + +### textCursor + +The alignment of the text cursor; horizontal or vertical. Default: +horizontal + +### colorBlack + +The color of the COLOR_BLACK attribute. Default: Black + +### colorRed + +The color of the COLOR_RED attribute. Default: red3 + +### colorGreen + +The color of the COLOR_GREEN attribute. Default: green3 + +### colorYellow + +The color of the COLOR_YELLOW attribute. Default: yellow3 + +### colorBlue + +The color of the COLOR_BLUE attribute. Default: blue3 + +### colorMagenta + +The color of the COLOR_MAGENTA attribute. Default: magenta3 + +### colorCyan + +The color of the COLOR_CYAN attribute. Default: cyan3 + +### colorWhite + +The color of the COLOR_WHITE attribute. Default: Grey + +### colorBoldBlack + +COLOR_BLACK combined with A_BOLD. Default: grey40 + +### colorBoldRed + +COLOR_RED combined with A_BOLD. Default: red1 + +### colorBoldGreen + +COLOR_GREEN combined with A_BOLD. Default: green1 + +### colorBoldYellow + +COLOR_YELLOW combined with A_BOLD. Default: yellow1 + +### colorBoldBlue + +COLOR_BLUE combined with A_BOLD. Default: blue1 + +### colorBoldMagenta + +COLOR_MAGENTA combined with A_BOLD. Default: magenta1 + +### colorBoldCyan + +COLOR_CYAN combined with A_BOLD. Default: cyan1 + +### colorBoldWhite + +COLOR_WHITE combined with A_BOLD. Default: White + +### 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 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). This resource overrides the +"bitmap" resource. Default: none, uses default bitmap above + +### translations + +Translations enable the user to customize the action that occurs when a +key, combination of keys, or a button is pressed. The translations are +similar to those used by xterm. + +Defaults: + + : XCursesKeyPress() + : XCursesKeyPress() + : XCursesButton() + : XCursesButton() + : 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 character; e.g., string(0x1b) will send the ASCII +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 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. 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. On these systems an error message like: + + Cannot allocate shared memory for SCREEN: Invalid argument + +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 hopefully +less than SHMMAX!) Default: 0 + +### borderColor + +The color of the border around the screen. Default: black + +### borderWidth + +The width in pixels of the border around the screen. Default: 0 + +### 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 + +### doubleClickPeriod + +The period (in milliseconds) between two button press events that +determines if a double click of a button has occurred. 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 text cursor will appear +as a hollow rectangle. Default: Multi_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 +name defaults to "PDCurses".) + +Examples for app-defaults or .Xdefaults: + + ! + ! resources for XCurses class of programs + ! + XCurses*lines: 30 + XCurses*cols: 80 + XCurses*normalFont: 9x13 + XCurses*bitmap: /tmp/xcurses.xbm + XCurses*pointer: top_left_arrow + ! + ! resources for testcurs - XCurses + ! + testcurs.colorRed: orange + testcurs.colorBlack: midnightblue + testcurs.lines: 25 + *testcurs.Translations: #override \n \ + F12: string(0x1b) string("[11~") \n + ! + ! resources for THE - XCurses + ! + ! resources with the * wildcard can be overridden by a parameter passed + ! to initscr() + ! + the*normalFont: 9x15 + the*lines: 40 + the*cols: 86 + the*pointer: xterm + the*pointerForeColor: white + the*pointerBackColor: black + ! + ! resources with the . format can not be overridden by a parameter passed + ! to Xinitscr() + ! + 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 +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 +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 +to use XIM support. + +This document is encoded in UTF-8. + + Hex| Dec |Chr| Description ISO 10646-1:1993(E) | Compose key combinations + ---+-----+---+---------------------------------+------------------------- + A0 | 160 | | NO-BREAK SPACE | + A1 | 161 | ¡ | INVERTED EXCLAMATION MARK | ! !! + A2 | 162 | ¢ | CENT SIGN | c| |c c/ c$ C$ C| + A3 | 163 | £ | POUND SIGN | L- L$ L= l- l$ l= |- + A4 | 164 | ¤ | CURRENCY SIGN | xo ox XO g$ + A5 | 165 | ¥ | YEN SIGN | =y y= =Y Y= Y- y$ y- + A6 | 166 | ¦ | BROKEN BAR | | || vb VB |^ + A7 | 167 | § | SECTION SIGN | SO SS s! S! so + A8 | 168 | ¨ | DIAERESIS | " "" + A9 | 169 | © | COPYRIGHT SIGN | CO co OC + AA | 170 | ª | FEMININE ORDINAL INDICATOR | sa SA a_ A_ + AB | 171 | « | LEFT DOUBLE ANGLE QUOTES | << + AC | 172 | ¬ | NOT SIGN | -, no NO + AD | 173 | ­ | SOFT HYPHEN | - -- + AE | 174 | ® | REGISTERED SIGN | RO ro OR + AF | 175 | ¯ | MACRON | -^ _^ __ + B0 | 176 | ° | DEGREE SIGN | o 0^ 0* de DE ^0 + B1 | 177 | ± | PLUS-MINUS SIGN | -+ +- + B2 | 178 | ² | SUPERSCRIPT TWO | 2 2^ s2 ^2 + B3 | 179 | ³ | SUPERSCRIPT THREE | 3 3^ s3 ^3 + B4 | 180 | ´ | ACUTE ACCENT | ' '' + B5 | 181 | µ | MICRO SIGN | u /u /U *m *M + B6 | 182 | ¶ | PILCROW SIGN | p! P! pg PG + B7 | 183 | · | MIDDLE DOT | . .^ .. + B8 | 184 | ¸ | CEDILLA | , ,, + B9 | 185 | ¹ | SUPERSCRIPT ONE | 1 1^ s1 ^1 + BA | 186 | º | MASCULINE ORDINAL INDICATOR | o_ s0 S0 + BB | 187 | » | RIGHT DOUBLE ANGLE QUOTES | >> + BC | 188 | ¼ | VULGAR FRACTION ONE QUARTER | 14 + BD | 189 | ½ | VULGAR FRACTION ONE HALF | 12 + BE | 190 | ¾ | VULGAR FRACTION THREE QUARTERS | 34 + BF | 191 | ¿ | INVERTED QUESTION MARK | ? ?? + C0 | 192 | À | CAPITAL A WITH GRAVE ACCENT | `A A` + C1 | 193 | Á | CAPITAL A WITH ACUTE ACCENT | 'A A' + C2 | 194 | Â | CAPITAL A WITH CIRCUMFLEX ACCENT| ^A A^ A> + C3 | 195 | Ã | CAPITAL A WITH TILDE | ~A A~ A- + C4 | 196 | Ä | CAPITAL A WITH DIAERESIS | "A A" + C5 | 197 | Å | CAPITAL A WITH RING ABOVE | oA Ao A* OA *A + C6 | 198 | Æ | CAPITAL LIGATURE AE | AE + C7 | 199 | Ç | CAPITAL C WITH CEDILLA | ,C C, + C8 | 200 | È | CAPITAL E WITH GRAVE ACCENT | `E E` + C9 | 201 | É | CAPITAL E WITH ACUTE ACCENT | 'E E' + CA | 202 | Ê | CAPITAL E WITH CIRCUMFLEX ACCENT| ^E E^ E> + CB | 203 | Ë | CAPITAL E WITH DIAERESIS | "E E" + CC | 204 | Ì | CAPITAL I WITH GRAVE ACCENT | `I I` + CD | 205 | Í | CAPITAL I WITH ACUTE ACCENT | 'I I' + CE | 206 | Î | CAPITAL I WITH CIRCUMFLEX ACCENT| ^I I^ I> + CF | 207 | Ï | CAPITAL I WITH DIAERESIS | "I I" + D0 | 208 | Ð | CAPITAL ETH | D- + D1 | 209 | Ñ | CAPITAL N WITH TILDE | ~N N~ N- + D2 | 210 | Ò | CAPITAL O WITH GRAVE ACCENT | `O O` + D3 | 211 | Ó | CAPITAL O WITH ACUTE ACCENT | 'O O' + D4 | 212 | Ô | CAPITAL O WITH CIRCUMFLEX ACCENT| ^O O^ O> + D5 | 213 | Õ | CAPITAL O WITH TILDE | ~O O~ O- + D6 | 214 | Ö | CAPITAL O WITH DIAERESIS | "O O" + D7 | 215 | × | MULTIPLICATION SIGN | x xx XX mu MU + D8 | 216 | Ø | CAPITAL O WITH STROKE | /O O/ + D9 | 217 | Ù | CAPITAL U WITH GRAVE ACCENT | `U U` + DA | 218 | Ú | CAPITAL U WITH ACUTE ACCENT | 'U U' + DB | 219 | Û | CAPITAL U WITH CIRCUMFLEX ACCENT| ^U U^ U> + DC | 220 | Ü | CAPITAL U WITH DIAERESIS | "U U" + DD | 221 | Ý | CAPITAL Y WITH ACUTE ACCENT | 'Y Y' + DE | 222 | Þ | CAPITAL THORN | P TH |P + DF | 223 | ß | SMALL SHARP S | ss + E0 | 224 | à | SMALL A WITH GRAVE ACCENT | `a a` + E1 | 225 | á | SMALL A WITH ACUTE ACCENT | 'a a' + E2 | 226 | â | SMALL A WITH CIRCUMFLEX ACCENT | ^a a^ a> + E3 | 227 | ã | SMALL A WITH TILDE | ~a a~ a- + E4 | 228 | ä | SMALL A WITH DIAERESIS | "a a" + E5 | 229 | å | SMALL A WITH RING ABOVE | oa ao Oa a* *a + E6 | 230 | æ | SMALL LIGATURE AE | ae + E7 | 231 | ç | SMALL C WITH CEDILLA | ,c c, + E8 | 232 | è | SMALL E WITH GRAVE ACCENT | `e e` + E9 | 233 | é | SMALL E WITH ACUTE ACCENT | 'e e' + EA | 234 | ê | SMALL E WITH CIRCUMFLEX ACCENT | ^e e^ e> + EB | 235 | ë | SMALL E WITH DIAERESIS | "e e" + EC | 236 | ì | SMALL I WITH GRAVE ACCENT | `i i` + ED | 237 | í | SMALL I WITH ACUTE ACCENT | 'i i' + EE | 238 | î | SMALL I WITH CIRCUMFLEX ACCENT | ^i i^ i> + EF | 239 | ï | SMALL I WITH DIAERESIS | "i i" + F0 | 240 | ð | SMALL ETH | d- + F1 | 241 | ñ | SMALL N WITH TILDE | ~n n~ n- + F2 | 242 | ò | SMALL O WITH GRAVE ACCENT | `o o` + F3 | 243 | ó | SMALL O WITH ACUTE ACCENT | 'o o' + F4 | 244 | ô | SMALL O WITH CIRCUMFLEX ACCENT | ^o o^ o> + F5 | 245 | õ | SMALL O WITH TILDE | ~o o~ o- + F6 | 246 | ö | SMALL O WITH DIAERESIS | "o o" + F7 | 247 | ÷ | DIVISION SIGN | -: :- + F8 | 248 | ø | SMALL O WITH OBLIQUE BAR | /o o/ + F9 | 249 | ù | SMALL U WITH GRAVE ACCENT | `u u` + FA | 250 | ú | SMALL U WITH ACUTE ACCENT | 'u u' + FB | 251 | û | SMALL U WITH CIRCUMFLEX ACCENT | ^u u^ u> + FC | 252 | ü | SMALL U WITH DIAERESIS | "u u" + FD | 253 | ý | SMALL Y WITH ACUTE ACCENT | 'y y' + FE | 254 | þ | SMALL THORN | p th |p + FF | 255 | ÿ | SMALL Y WITH DIAERESIS | "y y" + + +Deprecated +---------- + +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 +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 +won't need it.) + + Distribution Status -------------------