768 colors, single-process X11, copy-and-paste for all, and more.
New features
-
Single-process, single-thread version of the X11 port. Much, much
faster than the two-process version. Needs more testing. This version
omits translations. -
A common copy-and-paste system for all platforms, based on the
PDC_*clipboard() functions. (This is the first time copy-and-paste is
available for the SDL ports, and it replaces the old X11-specific
C&P.) Press and hold button 1 while selecting; paste with button 2.
Add Shift if mouse events are activated in curses. You can also paste
via Shift-Ctrl-V, and copy with Shift-Ctrl-C (although selecting
already sets the buffer). Note that paste is implemented via
ungetch(), and is currently limited to 256 characters at a time. (You
can get more via PDC_getclipboard().) With some ports (e.g. Wincon),
the existing terminal C&P mechanism may override PDCurses'. DOS and
SDL1 can only C&P within the same app. -
A new maximum of 768 colors, for Wincon, SDL and X11. COLOR_PAIRS is
still limited to 256. The idea is that each pair can have a unique
foreground and background, without having to redefine any of the first
256 (predefined) colors. Colors 256-767 have no initial definitions,
and are intended to be set via init_color(). An example has been added
to testcurs (loosely based on part of newtest, by Bill Gray). -
Wincon now allows redefinition of all 768 colors, and allows it even
under ConEmu. -
True italics for ConEmu. (It seems it should also support true bold,
but I couldn't make that work.) -
Added new functions from ncurses and/or NetBSD: has_mouse(),
is_keypad(), is_leaveok(), is_pad(), set_tabsize(), touchoverlap(),
underscore(), underend(), wunderscore(), and wunderend(). See the man
pages for descriptions. Partly due to Karthik Kumar Viswanathan, and
suggestions of Simon Sobisch.
Bug fixes and such
-
Check for standard C++ (>= 98), where native bool should exist, and use
that; otherwise (pre-/non-standard C++) fall back to the old behavior.
Satisfies clang, hopefully doesn't mess anything else up. -
Recent versions of clang throw an error over "-install_name".
-
Most curses functions assumed a valid SP (i.e. that initscr() had
already been called). Now, instead, they return ERR or other
appropriate values. Suggestion of S.S. -
Deprecated PDC_save_key_modifiers() -- there's no benefit to NOT
saving them. -
Hold back screen updates due to palette changes until paused; always
do this update now (previously only in X11 and SDL, seems necessary in
Windows 10 1903). -
SDL2 windows were freezing on moving to another screen (reported by
Mark Hessling). Still issues with moving between screens of different
scaling. -
Find the X libraries in some additional locations. After M.H.
-
Converted default X11 icons to XPM, fixing their non-display in Ubuntu.
-
Made XIM standard, removed "classic" X11 compose system.
-
Made wide-character build the default for X11 (--disable-widec for
narrow). -
Smoother resizing in X11, when not in scrollbar mode.
-
Dropped X11 options "borderWidth" (broken since at least 2.7) and
"cursorColor" (now set automatically for contrast). -
Correctly restore Insert mode and QuickEdit mode in Wincon's
PDC_reset_shell_mode(). Patch by "vyv03354". -
Add a WINDRES variable to wincon/Makefile for the sake of cross-
compilers. Patch by Marc-Andre Lureau. -
Suppress cursor movement during color tests in testcurs.
-
Added UTF-8-demo.txt for tuidemo to browse (by default, only in forced
UTF-8 mode). File by Markus Kuhn. -
Moved the doc files from "man" to "docs" -- the docs/man thing was too
confusing. Streamlined the web page into two files. -
Rewrote the "Portability" sections of the man pages to reflect current
ncurses and NetBSD. The old charts weren't very accurate. -
Document resolution of timeout() and napms(). Suggested by S.S.
-
Rewrote manext (again) in Awk.
-
Changed most dates to ISO format.
See the git log for more details.