github dankamongmen/notcurses v2.4.7
v2.4.7—learn to swim

latest releases: v3.0.9, v3.0.8, v3.0.7...
2 years ago

be aware: 3.0.0 and ABI3 are coming soon! this will see all deprecated material removed, possibly requiring code changes on your part. be sure you're actively moving away from deprecated functions (they're all marked, and ought elicit compiler warnings).

haxorec16

  • Add full support for features 2 and 8 of the Kitty keyboard protocol. This results in very thorough coverage of keyboard events, but some of them might be unexpected. Each keypress will typically now result in at least two input events (a press and release). Keys that previously resulted in no event (e.g. shift, alt, etc.) now result in events. These events will only be generated on Kitty or other terminals implementing this protocol.
  • XTMODKEYS is now used where supported, providing more coverage of keyboard events.
  • Sixel support was previously detected via XTSMGRAPHICS replies. It is now predicated on the presence of a '4' feature in the Device Attributes response. As a result, Sixel is now supported on numerous terminal emulators where it was not previously detected. Terminal authors are strongly encouraged to implement XTSMGRAPHICS if implementing Sixel.
  • ncvisualplane_create() now allows for a new pile to be created by passing a NULL ancestor plane in vopts.
  • ncvisual_render() has been deprecated, replaced by ncvisual_blit(). ncvisual_render() is still available, but will be removed for ABI3. The new function is pile-aware. When a NULL value is passed as vopts->n, or when vopts itself is NULL, a new plane will still be created, but it will now be in a new pile (previously, the new plane would be in the standard plane). To maintain the old behavior with ncvisual_blit() (i.e. to make a new plane bound to the standard plane), pass the standard plane as vopts->n, and add NCVISUAL_OPTION_CHILDPLANE to n->flags. See #1462.
  • Use unnamed pipes on Windows for input readiness notification.
  • constify most of the relevant members of various widget creation options.
  • notcurses-demo now uses seconds rather than semiseconds as the base unit of the FPS plot.
  • Detect GNU screen. Never attempt to use RGB with screen 4.
  • Support smooth bitmap movement / precise bitmap placement when using the Kitty graphics protocol. Support will be added for sixel and fbcon soon. Use the new pxoffy and pxoffx members of the ncvisual_options struct.
  • Replace all wcstombs() calls with thread-safe wcsrtombs().
  • Send synthesized signals even when NCOPTION_INPUT_DRAIN is in use.
  • Extract version from Secondary Device Attributes for older XTerms.
  • Properly reset the keyboard state after a crash in initialization.
  • Properly push and pop keyboard states when switching to and from the alternate screen post-initialization.
  • Widget input handling functions ignore all keyboard event types save press.
  • Add new NCKEY constants for modifiers and other keys which previously didn't generate events.
  • Use explicit CRLFs where necessary on Windows, fixing banners.

Don't miss a new notcurses release

NewReleases is sending notifications on new releases.