Skip to content

Releases: Bill-Gray/PDCursesMod

PDCurses 3.2 - 2007/06/06

12 Sep 11:39

Choose a tag to compare

This release mainly covers changes to the build process, along with a
few structural changes.

New features:

  • The panel library has been folded into the main library. What this means is that you no longer need to specify -lpanel or equivalent when linking programs that use panel functionality with PDCurses; however, panel.lib/.a is still provided (as a copy of pdcurses.lib/.a) so that you can, optionally, build your projects with no changes. It also means that panel functionality is available with the DLL or shared library. Note that panel.h remains separate from curses.h.

  • Setting the PDCURSES_SRCDIR environment variable is no longer required before building, unless you want to build in a location other than the platform directory. (See INSTALL.)

  • MinGW and Cygwin makefiles support building DLLs, via the "DLL=Y" option. Partly due to Timofei Shatrov.

  • Support for the Digital Mars compiler.

  • Watcom makefiles now use the "loaddll" feature.

Bug fixes and such:

  • Eliminated the platform defines (DOS, WIN32, OS2, XCURSES) from curses.h, except for X11-specific SCREEN elements and functions. Dynamically-linked X11 apps built against an old version will have their red and blue swapped until rebuilt. (You can define PDC_RGB to build the library with the old color scheme, but it would also have to be defined when building any new app.) Any app that depends on PDCurses to determine the platform it's building on will have to make other arrangements.

  • Documentation cleanup -- added more details; removed some content that didn't apply to PDCurses; moved the doc-building tool to the doc directory; changed *.man to *.txt.

  • The EMX makefile now accepts "DLL=Y", builds pdcurses.dll instead of curses.dll, builds either the static library or the DLL (not both at once), and links all the demos with the DLL when building it.

  • In Win32, read the registry only when needed: when init_color() or color_content() is called, instead of at startup.

  • A few additional consts in declarations.

  • The Win32 compilers that build DLLs now use common .def files.

  • panel.h functions sorted by name, as with other .h files; curses.h is no longer included by repeated inclusions of panel.h or term.h.

  • Simplified Borland makefiles.

  • Makefile.aix.in depended on a file, xcurses.exp, that was never there. This problem was fixed as part of the change to common .def files; however, I still haven't been able to test building on AIX.

PDCurses 3.1 - 2007/05/03

12 Sep 11:40

Choose a tag to compare

Primarily clipboard-related fixes, and special UTF-8 support.

New features:

  • "Force UTF-8" mode, a compile-time option to force the use of UTF-8 for multibyte strings, instead of the system locale. (Mainly for Windows, where UTF-8 doesn't work well in the console.) See INSTALL.

  • Multibyte string support in PDC_*clipboard() functions, and in Win32's PDC_set_title().

  • Added the global string "ttytype", per other curses implementations, for compatibility with old BSD curses.

  • Real functions for the "quasi-standard aliases" -- crmode(), nocrmode(), draino(), resetterm(), fixterm() and saveterm(). (Corresponding macros removed.)

Bug fixes and such:

  • In Win32, under NT-family OSes, the scrollback buffer would be restored by endwin(), but would not be turned off again when resuming curses after an endwin(). The result was an odd, partly-scrolled-up display. Now, the buffer is toggled by PDC_reset_prog_mode() and PDC_reset_shell_mode(), so it's properly turned off when returning from an endwin().

  • In 3.0, selection in X11 didn't work. (Well, the selecting worked, but the pasting elsewhere didn't.) This was due to the attempted fix "don't return selection start as a press event," so that's been reverted for now.

  • PDC_setclipboard() was locking up in X11. Reported by Mark Hessling.

  • Missing underscore in the declaration of XC_say() prevented compilation with PDCDEBUG defined. Reported by M.H.

  • Off-by-one error in copywin() -- the maximum coordinates for the destination window should be inclusive. Reported by Tiago Dionizio.

  • Start in echo mode, per X/Open. Reported by T.D.

  • Strip leading and trailing spaces from slk labels, per a literal reading of X/Open. Suggested by Alexey Miheev (about ncurses, but it also applies here).

  • The #endif for PDCURSES needs to come after the closing of the extern "C". This has been broken since June 2005. Fortunately (?), it only shows up if the file is included multiple times, and then only in C++. Reported on the DOSBox forums.

  • Use CF_OEMTEXT instead of CF_TEXT in the narrow versions of the clipboard functions in Win32, to match the console.

  • Changed the format of the string returned from longname().

  • In the clipboard test in the testcurs demo, use a single mvprintw() to display the return from PDC_getclipboard(), instead of a loop of addch(), which was incompatible with multibyte strings.

  • Moved has_key() into the keyname module, and documented it.

  • Moved RIPPEDOFFLINE to curspriv.h.

  • Typos in IMPLEMNT.

PDCurses 3.0 - 2007/04/01

12 Sep 11:40

Choose a tag to compare

The focuses for this release are X/Open conformance, i18n, better color support, cleaner code, and more consistency across platforms.

This is only a brief summary of the changes. For more details, consult the VCS log.

New features:

  • An almost complete implementation of X/Open curses, including the wide-character and attr_t functions (but excluding terminfo). The wide-character functions work only in Win32 and X11, for now, and require building the library with the appropriate options (see INSTALL). Note that this is a simplistic implementation, with exactly one wchar_t per cchar_t; the only characters it handles properly are those that are one column wide.

  • Support for X Input Methods in the X11 port (see INSTALL). When built this way, the internal compose key support is disabled in favor of XIM's, which is a lot more complete, although you lose the box cursor.

  • Multibyte character support in the non-wide string handling functions, per X/Open. This only works when the library is built with wide- character support enabled.

  • Mouse support for DOS and OS/2. The DOS version includes untested support for scroll wheels, via the "CuteMouse" driver.

  • An ncurses-compatible mouse interface, which can work in parallel with the traditional PDCurses mouse interface. See the man page (or mouse.c) for details.

  • DOS and OS/2 can now return modifiers as keys, as in Win32 and X11.

  • COLORS, which had been fixed at 8, is now either 8 or 16, depending on the terminal -- usually 16. When it's 8, blinking mode is enabled (controlled as before by the A_BLINK attribute); when it's 16, bright background colors are used instead. On platforms where it can be changed, the mode is toggled by the new function PDC_set_blink(). PDCurses tries to set PDC_set_blink(FALSE) at startup. (In Win32, it's always set to FALSE; in DOS, with other than an EGA or VGA card, it can't be.) Also, COLORS is now set to 0 until start_color() is called.

  • Corresponding to the change in COLORS, COLOR_PAIRS is now 256.

  • Working init_color() and color_content(). The OS/2 version of init_color() works only in a full-screen session; the Win32 version works only in windowed mode, and only in NT-family OSes; the DOS version works only with VGA adapters (real or simulated). The Win32 version is based mostly on James Brown's setconsoleinfo.c (www.catch22.net).

  • use_default_colors(), assume_default_colors(), and curses_version(), after ncurses.

  • Added global int TABSIZE, after ncurses and Solaris curses; removed window-specific _tabsize.

  • Logical extension to the wide-character slk_ funcs: slk_wlabel(), for retrieving the label as a wide-character string.

  • A non-macro implementation of ncurses' wresize().

  • Working putwin(), getwin(), scr_dump() and scr_restore().

  • A working acs_map[]. Characters from the ACS are now stored in window structures as a regular character plus the A_ALTCHARSET attribute, and rendered to the ACS only when displayed. (This allows, for example, the correct display on one platform of windows saved from another.)

  • In X11, allow selection and paste of UTF8_STRING.

  • The testcurs demo now includes a color chart and init_color() test, a wide character input test, a display of wide ACS characters with sample Unicode text, a specific test of flash(), more info in the resize test, and attempts to change the width as well as the height.

  • Command-line option for MSVC to build DLLs (see INSTALL). Also, the naming distinction for DLLs ("curses" vs. "pdcurses") is abandoned, and either the static lib or DLL is built, not both at once (except for X11).

  • For backwards compatibility, a special module just for deprecated functions -- currently PDC_check_bios_key(), PDC_get_bios_key(), PDC_get_ctrl_break() and PDC_set_ctrl_break(). These shouldn't be used in applications, but currently are... in fact, all the "private" functions (in curspriv.h) are subject to change and should be avoided.

  • A new document, IMPLEMNT, describing PDCurses' internal functions for those wishing to port it to new platforms.

  • Mark Hessling has released the X11 port to the public domain. (However, x11/ScrollBox* retain their separate copyright and MIT-like license.)

Bug fixes and such:

  • Most of the macros have been removed (along with the NOMACROS ifdef). The only remaining ones are those which have to be macros to work, and those that are required by X/Open to be macros. There were numerous problems with the macros, and no apparent reason to keep them, except tradition -- although it was PCcurses 1.x that first omitted them.

  • Clean separation of platform-specific code from the rest. Outside of the platform directories, there remain only a few ifdefs in curses.h and curspriv.h.

  • General reorganization and simplification.

  • Documentation revisions.

  • When expanding control characters in addch() or insch(), retain the attributes from the chtype.

  • Preserve the A_ALTCHARSET attribute in addch() and insch().

  • Per X/Open, beep() should always return OK.

  • On platforms with a controlling terminal (i.e., not X11), curs_set(1) now sets the cursor to the shape it had at the time of initscr(), rather than always making it small. (Exception for DOS: If the video mode has been changed by PDC_resize_screen(), curs_set(1) reverts to line 6/7.) The shape is taken from SP->orig_cursor (the meaning of which is platform-specific).

  • Stop updating the cursor position when the cursor is invisible (this gives a huge performance boost in Win 9x); update the cursor position from curs_set() if changing from invisible to visible.

  • Some tweaking of the behavior of def_prog_mode(), def_shell_mode(), savetty(), reset_prog_mode(), reset_shell_mode() and resetty()... still not quite right.

  • flash() was not implemented for Win32 or X. A portable implementation is now used for all platforms. Note that it's much slower than the old (DOS and OS/2) version, but this is only apparent on an extremely slow machine, such as an XT.

  • In getstr(), backspacing on high-bit characters caused a double backspace.

  • hline() and vline() used an incorrect (off by one) interpretation of _maxx and _maxy. If values of n greater than the max were specified, these functions could access unallocated memory.

  • innstr() is supposed to return the number of characters read, not just OK or ERR. Reported by Mike Aubury.

  • A proper implementation of insch() -- the PDC_chadd()-based version wasn't handling the control characters correctly.

  • Return ASCII and control key names from keyname() (problem revealed by ncurses' movewindow test); also, per X/Open, return "UNKNOWN KEY" when appropriate, rather than "NO KEY NAME".

  • Turn off the cursor from leaveok(TRUE), even in X11; leaveok(FALSE) now calls curs_set(1), regardless of the previous state of the cursor.

  • In the slk area, BUTTON_CLICKED events now translate to function keys, along with the previously recognized BUTTON_PRESSED events. Of course, it should really be checking the events specified by map_button(), which still doesn't work.

  • napms(0) now returns immediately.

  • A unified napms() implementation for DOS -- no longer throttles the CPU when built with any compiler.

  • Allow backspace editing of the nocbreak() buffer.

  • pair_content(0, ...) is valid.

  • There was no check to ensure that the pnoutrefresh() window fit within the screen. It now returns an ERR if it doesn't.

  • In X11, resize_term() must be called with parameters (0, 0), and only when SP->resized is set, else it returns ERR.

  • Copy _bkgd in resize_window(). Patch found on Frederic L. W. Meunier's web site.

  • slk_clear() now removes the buttons completely, as in ncurses.

  • Use the current foreground color for the line attributes (underline, left, right), unless PDC_set_line_color() is explicitly called. After setting the line color, you can reset it to this mode via "PDC_set_line_color(-1)".

  • Removed non-macro implementations of COLOR_PAIR() and PAIR_NUMBER().

  • Dispensed with PDC_chadd() and PDC_chins() -- waddch() and winsch() are now (again) the core functions.

  • Dropped or made static many obsolete, unused, and/or broken functions, including PDC_chg_attrs(), PDC_cursor_on() and _off(), PDC_fix_cursor(), PDC_get_attribute(), PDC_get_cur_col() and _row(), PDC_set_80x25(), PDC_set_cursor_mode(), PDC_set_rows(), PDC_wunderline(), PDC_wleftline(), PDC_wrightline(), XCursesModifierPress() and XCurses_refresh_scrollbar().

  • Obsolete/unused defines: _BCHAR, _GOCHAR, _STOPCHAR, _PRINTCHAR _ENDLINE, _FULLWIN and _SCROLLWIN.

  • Obsolete/unused elements of the WINDOW struct: _pmax*, _lastp*, _lasts*.

  • Obsolete/unused elements of the SCREEN struct: orgcbr, visible_cursor, sizeable, shell, blank, cursor, orig_emulation, font, orig_font, tahead, adapter, scrnmode, kbdinfo, direct_video, video_page, video_seg, video_ofs, bogus_adapter. (Some of these persist outside the SCREEN struct, in the platform directories.) Added mouse_wait and key_code.

  • Removed all the EMALLOC stuff. Straight malloc calls were used elsewhere; it was undocumented outside of comments in curspriv.h; and there are better ways to use a substitute malloc().

  • Single mouse clicks are now reportable on all platforms (not just double-clicks). And in general, mouse event reporting is more consistent across platforms.

  • The mouse cursor no longer appears in full-screen mode in Win32 unless a nonzero mouse event mask is used.

  • ALT-keypad input now works in Win32.

  • In Win32, SetConsoleMode(ENABLE_WINDOW_INPUT) is not useful, and appears to be the source of a four-year-old bug report (hanging in THE) by Phil Smith.

  • Removed the PDC_THREAD_BUILD stuff, which has never worked. For the record: PDCurses is not thread-safe. Neither is ncurses; and the X/Open curses spec explicitly makes it a non-requirement.
    ...

Read more

PDCurses 2.8 - 2006/04/01

12 Sep 11:41

Choose a tag to compare

As with the previous version, you should assume that apps linked against older dynamic versions of the library won't work with this one until recompiled.

New features:

  • Simpler, faster.

  • Declarations for all supported, standard functions, per the X/Open Curses 4.2 spec, with the notable exception of getch() and ungetch(). You can disable the use of the macro versions by defining NOMACROS before including curses.h (see xmas.c for an example). NOMACROS yields smaller but theoretically slower executables.

  • New functions: vwprintw(), vwscanw(), vw_printw() and vw_scanw(). This completes the list of X/Open 4.2 functions, except for those concerned with attr_t and wide characters. Some (especially the terminfo/termcap functions) aren't yet fully fleshed out, though.

  • Non-macro implementations for COLOR_PAIR(), PAIR_NUMBER(), getbkgd(), mvgetnstr(), mvwgetnstr(), mvhline(), mvvline(), mvwhline(), and mvwvline(). (The macros are still available, too.)

  • newterm() works now, in a limited way -- the parameters are ignored, and only the first invocation will work (i.e., only one SCREEN can be used).

  • start_color() works now -- which is to say, if you don't call it, you'll only get monochrome output. Also, without calling it, the terminal's default colors will be used, where supported (currently only in Win32). This is equivalent to the PDC_ORIGINAL_COLORS behavior introduced in 2.7, except that only the default colors will be used. (PDC_ORIGINAL_COLORS is still available, if you want to combine the use of specific colors and the default colors.)

  • New logic for termname() and longname(): termname() always returns "pdcurses"; longname() returns "PDCurses for [platform] [adapter] [COLOR/MONO]-YxX" (adapter is only defined for DOS and OS/2). This is the first time these functions return anything in Win32.

  • New installation method for XCurses: the header files are placed in a subdirectory "xcurses" within the include directory, rather than being renamed. (But the renamed xcurses.h and xpanel.h are also installed, for backwards compatibility.) curspriv.h and term.h are now available, and existing curses-based code need no longer be edited to use XCurses' curses.h. And with no more need for explicit XCursesExit() calls (see below), your code need not be changed at all to move from another curses implementation to XCurses. It can be as simple as "gcc -I/usr/local/include/xcurses -lXCurses -oprogname progname.c".

  • Combined readme.* into this HISTORY file, and incorporated the old 1.x (PCcurses) history.

  • New functionality for the testcurs demo: ACS character display; menu support for PgUp, PgDn, Home and End; centered menu; and it can now be resized in X.

  • Added modified versions of the rain and worm demos from ncurses.

Bug fixes and such:

  • Big cleanup of dead and redundant code, including unneeded defines, ifdefs, and structure elements.

  • flushinp() was not implemented for Win32.

  • resetty() was not restoring LINES and COLS.

  • nonl() made '\n' print a line feed without carriage return. This was incorrect.

  • Removed bogus implementation of intrflush().

  • The line-breakout optimization system, disabled by default in 2.7, is removed in 2.8. It simply didn't work, and never has. (The typeahead() function remains, for compatibility, but does nothing.)

  • The declarations for the printw() and scanw() function families were erroneously ifdef'd.

  • Safer printw() calls on platforms that support vsnprintf().

  • Use the native vsscanf() in DJGPP, MinGW and Cygwin.

  • ACS_BLOCK now works in X.

  • Explicit calls to XCursesExit() are no longer needed.

  • XCURSES is now defined automatically if not DOS, OS2 or WIN32.

  • The default icon for XCurses wasn't working (had to remove the focus hint code to fix this). Also, the default title is now "XCurses" instead of "main".

  • Incorrect dimensions (undercounting by two in each direction) were shown while resizing in X.

  • Scroll wheel events were not always correctly reported in X.

  • 32 bits are enough for the "long" chtype, but 64 bits were used on a 64-bit system, wasting memory. Now conditioned on _LP64. This could be faster, too.

  • The short, 16-bit chtype now works with XCurses.

  • Corrected return value for is_linetouched(), is_wintouched(), can_change_color() and isendwin() (bool instead of int).

  • timeout(), wtimeout(), idcok() and immedok() return void.

  • pair_content() takes a short.

  • Replaced incorrect usages of attr_t with chtype. attr_t is still typedef'd, for backwards compatibility. (It's supposed to be used for the WA_*-style functions, which PDCurses doesn't yet support.)

  • Added const where required by the spec, and in other appropriate places.

  • Removed PDC_usleep(). napms() is now the core delay routine.

  • Fixed poll() support in napms().

  • Various changes to the internal PDC_* functions -- don't depend on these, and don't use them unless you absolutely have to.

  • Some routines accessed window structures in their variable declarations, before checking for a NULL window pointer.

  • Dropped support for the undocumented PDC_FULL_DISPLAY, wtitle(), and PDC_print().

  • Cleaned up remaining warnings.

  • Reduced unnecessary #include directives -- speeds up compilation.

  • Fix for demos build in Borland/DOS -- the makefile in 2.7 didn't specify the memory model. Reported by Erwin Waterlander.

  • Simplified the makefiles; e.g., some now build each demo in a single step, and Watcom no longer uses demos.lnk. Also, the demo exes are now stripped when possible; maximum compression used for archives built by the makefiles; xcurses-config removed as part of "make distclean"; and I tweaked optimization for some platforms.

  • Reverted to /usr/local/ as default installation directory for XCurses.

  • Upgraded to autoconf 2.59... instantly doubling the size of the configure script. Ah well. Otherwise, simplified the build system.

  • Dropped support for pre-ANSI compilers. (It hasn't worked since at least version 2.4, anyway.)

  • Revised and, I hope, clarified the boilerplate and other comments.

  • Simplified logging and RCS ids; added RCS ids where missing.

  • Consistent formatting for all code, approximately equivalent to "indent -kr -i8 -bl -bli0", with adjustments for 80 columns.

PDCurses 2.7 - 2005/12/30

12 Sep 11:44

Choose a tag to compare

Note - new maintainer: William McBrine

NEW FEATURES:

  • Functions: delscreen(), getattrs(), has_key(), slk_color(), wcolor_set(), wtimeout().

  • Macros: color_set(), mvhline(), mvvline(), mvwgetnstr(), mvwhline(), mvwvline(), timeout(), wresize().

  • Stub implementations of terminfo functions (including a term.h).

  • More stubs for compatibility: filter(), getwin(), putwin(), noqiflush(), qiflush(), scr_dump(), scr_init(), scr_restore(), scr_set(), use_env(), vidattr(), vidputs().

  • The terminal's default colors are used as curses' default colors when the environment variable "PDC_ORIGINAL_COLORS" is set to any value (Win32 only at the moment).

  • Simplified build system.

  • Replaced PDC_STATIC_BUILD with its opposite, PDC_DLL_BUILD (see .mak files for more info).

  • Minimal implementation of color_content() -- no longer a stub.

  • Added the remaining ACS defines (ACS_S3, ACS_BBSS, etc.) for DOS/OS2/Win; "enhanced" versions of existing ACS characters used.

  • Support for scroll wheels.

  • Support for Pacific C.

BUGS FIXED:

  • Builds correctly (including demos) on all tested platforms (see below); nearly all compiler warnings have been cleaned up; the ptest demo is built on all platforms; "clean" targets are improved.

  • The ability to build ncurses_tests has been restored (see demos dir).

  • Line-breakout optimization now defaults to off (equivalent to "typeahead(-1)"), so output is not interrupted by keystrokes (it's supposed to resume on the next refresh(), which wasn't working).

  • Implicit wrefresh() in wgetch() was not being invoked in nodelay mode.

  • subpad() was erroneously offsetting from the origin coordinates of the parent pad (which are always -1,-1).

  • In wborder(), whline(), and wvline(), the current (wattrset) attribute was being used, but not the current background (wbkgd).

  • Allow Russian 'r' character ASCII 0xe0 to be returned.

  • termattrs() now also returns A_UNDERLINE, A_REVERSE.

  • In Win32, with large scrollback buffers set, there was an unwanted "scrollup" effect on startup.

  • Revamped keyboard handling for Win32.

  • New screen resize method for Win32.

  • napms(), delay_output(), etc. now work with Cygwin.

  • curs_set(0) wasn't working in Win32 in full-screen (ALT-ENTER) mode -- the cursor stayed on.

  • The A_REVERSE attribute was broken in XCurses.

  • On 64-bit systems, XCurses was ignoring every other keystroke.

  • Added focus hints for XCurses.

  • Demos (except for tuidemo) once again have their proper titles in XCurses (using Xinitscr() instead of the obsolete XCursesProgramName).

  • The 16-bit chtype is a working option again (by removing #define CHTYPE_LONG from curses.h), except in XCurses. It's not recommended; but if your needs are limited, it still works.

  • Reset screen size in resetty() under DOS, as in Win32 and OS/2.

  • Changes for cursor size under DOS.

  • Automatic setting of BIOS mode for CGA under DOS now works.

  • The cursor is now always updated in PDC_gotoxy(); this fixes the problem of missing characters in BIOS mode.

  • Macros nocbreak(), cbreak(), nocrmode(), crmode(), nodelay(), nl() and nonl() now return OK.

  • ERR and OK are now defined as -1 and 0, respectively, for compatibility with other curses implementations -- note that this change is not binary compatible; you'll have to rebuild programs that use shared/dynamic libraries.

  • Added "const" to prototypes where appropriate.

  • Miscellaneous code cleanup.

ACKNOWLEDGEMENTS:

Walter Briscoe
Jean-Pierre Demailly
Ruslan Fedyarov
Warren Gay
Florian Grosse-Coosmann
Vladimir Kokovic
Matt Maloy
K.H. Man
Michael Ryazanov
Ron Thibodeau
Alexandr Zamaraev

and of course, MARK HESSLING, for his over 13 years of service as the maintainer of PDCurses. Plus, thanks to all who've reported bugs or requested features. Apologies to anyone I've forgotten.

This version was tested on Turbo C++ 3.0 and Borland C++ 3.1 for DOS; DJGPP 2.X; Open Watcom 1.3 for DOS (16 and 32-bit), Windows and OS/2; EMX 0.9d and the "newgcc" version of EMX; Borland C++ 5.5 for Windows; recent versions of MinGW, Cygwin, LCC-Win32 and Microsoft Visual C++; and gcc under several flavors of Linux, Mac OS X, *BSD and Solaris.

PDCurses 2.6 - 2003/01/08

12 Sep 11:45

Choose a tag to compare

BUGS FIXED:

  • Allow accented characters on Win32 platform when run on non-English keyboards.

  • Allow "special" characters like Ctrl-S, Ctrl-Q under OS/2 to be returned.

  • Some bugs with halfdelay() fixed by William McBrine.

  • pechochar() should now work correctly.

  • redrawwin() macro in curses.h was incorrect - fixed by Alberto Ornaghi

  • Don't include "special" characters like KEY_SHIFT_L to be returned in getnstr() family. Bug 542913

  • Entering TAB in wgetnstr() no longer exceeds requested buffer size. Bug 489233

  • Fixed bug 550066, scrollok() and pads. Also beep() called when buffer exceeded. Bug 562041.

  • Reverse video of X11 selection reinstated. Pablo Garcia Abio??

  • Right Alt modifier now works like left Alt modifier under Win32

  • Add support for all libXaw replacement libraries with Scrollbar bug. Note that for this to work, you still have to change the libXaw replacement libraries to fix the bug :-(

  • Don't trap signals in XCurses if calling application has ignored them. Change by Frank Heckenbach.

  • Bug reports from Warren W. Gay: - Fix termattrs() to return A_REVERSE and A_BLINK on all platforms. - Fix definition of getsyx() and setsyx() to be consistent with ncurses. Bug 624424. - Fix definition of echo() and noecho(). Bug 625001. - Fix definition of keypad() and leaveok(). Bug 632653. - Missing panel_hidden() prototype. Bug 649320.

  • Fixed bug with calling def_prog_mode(), resize_term(), reset_prog_mode(); the resize details were being lost.

NEW FEATURES:

  • Clipboard support now available on DOS platform, but handled internally to the currently running process.

  • New X11 resource: textCursor, allows the text cursor to be specified as a vertical bar, or the standard horizontal bar. Thanks to Frank Heckenbach for the suggestion.

NEW COMPILER SUPPORT:

  • lcc-win32 now works correctly

PDCurses 2.5 - 2001/11/26

12 Sep 11:46

Choose a tag to compare

INTRODUCTION:

This release of PDCurses includes the following changes:

  • Set BASE address for Win32 DLL

  • Add KEY_SUP and KEY_SDOWN.

  • Add PDC_set_line_color()

  • Add blink support as bold background

  • Add bold colors

  • Add getbkgd() macro

  • Add new PDC functions for adding underline, overline, leftline and rightline

  • Add support for shifted keypad keys.

  • Allow more keypad keys to work under Win32

  • Change Win32 and OS/2 DLL name to curses.dll

  • Change example resources to allow overriding from the command line

  • Changes for building cleanly on OS/2

  • Changes to handle building XCurses under AIX

  • Check if prefresh() and pnoutrefresh() parameters are valid.

  • Ensure build/install works from any directory

  • Handle platforms where X11 headers do not typedef XPointer.

  • Mention that Flexos is likely out-of-date.

  • Pass delaytenths to XCurses_rawgetch()

  • Remove boldFont

  • Updates for cursor blinking and italic.

BUGS FIXED:

  • Fix bug with getting Win32 clipboard contents. Added new PDC_freeclipboard() function.

  • Fix bug with halfdelay()

  • Fix bug with mouse interrupting programs that are not trapping mouse events under Win32.

  • Fix return value from curs_set()

  • Reverse the left and right pointing bars in ALT_CHARSET

NEW COMPILER SUPPORT:

  • Add QNX-RTP port

PDCurses 2.4 - 2000/01/17

12 Sep 11:48

Choose a tag to compare

INTRODUCTION:

This release of PDCurses includes the following changes:

  • full support of X11 selection handling

  • removed the need for the cursos2.h file

  • enabled the "shifted" key on the numeric keypad

  • added native clipboard support for X11, Win32 and OS/2

  • added extra functions for obtaining internal PDCurses status

  • added clipboard and key modifier tests in testcurs.c

  • fixes for panel library

  • key modifiers pressed by themselves are now returned as keys: KEY_SHIFT_L KEY_SHIFT_R KEY_CONTROL_L KEY_CONTROL_R KEY_ALT_L KEY_ALT_R This works on Win32 and X11 ports only

  • Added X11 shared library support

  • Added extra slk formats supported by ncurses

  • Fixed bug with resizing the terminal when slk were on.

  • Changed behavior of slk_attrset(), slk_attron() slk_attroff() functions to work more like ncurses.

BUGS FIXED:

  • some minor bug and portability fixes were included in this release

NEW FUNCTIONS:

  • PDC_getclipboard() and PDC_setclipboard() for accessing the native clipboard (X11, Win32 and OS/2)

  • PDC_set_title() for setting the title of the window (X11 and Win32 only)

  • PDC_get_input_fd() for getting the file handle of the PDCurses input

  • PDC_get_key_modifiers() for getting the keyboard modifier settings at the time of the last (w)getch()

  • Xinitscr() (only for X11 port) which allows standard X11 switches to be passed to the application

NEW COMPILER SUPPORT:

  • MingW32 GNU compiler under Win95/NT

  • Cygnus Win32 GNU compiler under Win95/NT

  • Borland C++ for OS/2 1.0+

  • lcc-win32 compiler under Win95/NT

ACKNOWLEDGEMENTS: (for this release)

Georg Fuchs for various changes.
Juan David Palomar for pointing out getnstr() was not implemented.
William McBrine for fix to allow black/black as valid color pair.
Peter Preus for pointing out the missing bccos2.mak file.
Laura Michaels for a couple of bug fixes and changes required to support Mingw32 compiler.
Frank Heckenbach for PDC_get_input_fd() and some portability fixes and the fixes for panel library.
Matthias Burian for the lcc-win32 compiler support.