Commit Graph

422 Commits

Author SHA1 Message Date
nick black
b42587a1b9
notcurses_getc -> notcurses_get, absolute deadlines 2021-11-09 00:54:29 -05:00
nick black
fe924be5ef
ABI3 changes (#2333)
Long-planned changes for API/ABI3 #1777

* remove old-style notcurses_ rendering functions
* Make notcurses_render() a static inline wrapper around
 ncpile_render(). Remove the deprecated
 notcurses_render_to_file() and ncpile_render_to_file().
* ncstrwidth() becomes static inline wrapper #1777
* remove deprecated ncvisual_subtitle()
* kill ncvisual_inflate(), long deprecated #1777
* remove deprecated palette256 wrappers #1777
* kill ncplane_new() #1777
* remove deprecated renderfp field from notcurses_options #1777
* reorder ncstats fields to match documentation #1777
* kill deprecated style functions #1777
* ncplane_move{top, bottom} become static inline #1777
** ncplane_pixelgeom -> ncplane_pixel_geom() #1777
* ncstyle functions ought return uint16_t #1777 #2200
* ncvisualplane_create: provide new pile functionality #1462
* [heuristics] GNU screen 4x never has rgb
* [BitmapSmoothMove] only WARN in test until sixel supports this #2258
* contour: enable sextants
* interp PoC: clean up ncvisual #2266
* ncselector_options: constify string arguments
* Constify strings in selector/mselector_items
 Use internal types to track items within the
 selector/mselector widgets, rather than pressing the
 user-provided item structs into double-duty. With this
 change, we can constify the strings within those
 user-provided items. Do so, also removing the internal-side
 elements. Update documentation. Closes #2267.
* constify ncmenu_item/_section strings
* constify strings in nctabbed_options
* notcurses-demo FPS graph: back to straight seconds
* remove unused wchar_from_utf8()
* nstrwidth_valid(): properly initialize bytes/width
* [ncneofetch] use GetSystemInfo on Windows
2021-11-09 00:53:30 -05:00
nick black
12e01fdf5c [metric] prefix all defs with NC 2021-11-08 21:05:15 -05:00
nick black
91420af5ce eliminate recursion in ncplane_polyfill_yx #2328 2021-11-08 21:05:15 -05:00
nick black
0231768406 prefix qprefix(), bprefix(), iprefix() with nc- 2021-11-08 21:05:15 -05:00
nick black
83ff2cfe5a unsigned geometries 2021-11-08 21:05:15 -05:00
nick black
0f5aec510a
[mice] support for pure motion events
Deprecate notcurses_mouse_{enable, disable}. Reimplement
them for now as wrappers around notcurses_mice_enable().
New function notcurses_mice_disable() is a static inline
wrapper around notcurses_mice_enable(). The latter
function takes an unsigned bitmask of event types. We
now turn on the "all motion" tracking DECSET if
NCMICE_MOVE_EVENT is requested. Update the documentation,
and kill some obsolete lines. Add the ypx and xpx fields
to ncinput, to indicate pixel offset within a cell. Add
nckey NCKEY_MOTION for button-free motion events. Update
notcurses-input to pass NCMICE_ALL_EVENTS and decode
NCKEY_MOTION. Only emit mouse sequences when connected
to a TTY (or GPM). Closes #2320.

Request RGB XTGETTCAP.

Fix bug in error check in notcurses_render_to_buffer().

Decode multiple XTGETTCAP responses.
2021-11-05 08:32:35 -04:00
nick black
3792dd5592 [mergeplane] 0 means remainder #1696 2021-11-04 10:08:26 -04:00
nick black
37f077a653 normalize lenghts for line-drawing functions #1696 2021-11-04 10:08:26 -04:00
nick black
d80884ea48 normalize geometry for ncvisual_from_plane, ncplane_contents, and ncplane_as_rgba() #1696 2021-11-04 10:08:26 -04:00
nick black
b19847a06a [visual] extrinsic geometry unit tests 2021-11-01 21:57:05 -04:00
nick black
a0b34f7062 [core] introduce ncvisual_geom(), replacing ncvisual_blitter_geom() #1684 2021-11-01 21:57:05 -04:00
nick black
a85a9097f9 [render] gratuitous hpa only on plane changes #2199 2021-10-28 06:42:19 -04:00
nick black
935e96a3bc [stats] add hpa_gratuitous stat #2199 2021-10-28 06:42:19 -04:00
nick black
b9c4d359af
[docs] add notcurses_canpixel() to notcurses_capabilities.3 2021-10-26 09:55:24 -04:00
nick black
97f63dc954
v2.4.8 2021-10-23 06:36:18 -04:00
nick black
48ee66918a
[signals] include SIGBUS among fatal signals 2021-10-22 22:08:02 -04:00
nick black
c2ed7d19fe [yield] two threads #1613 2021-10-22 22:00:41 -04:00
nick black
6e2ab83a08
[utils] declare notcurses_osversion #2293 2021-10-21 18:36:52 -04:00
nick black
864e2710a3 [demo] use pthread_cond_clockwait() with CLOCK_MONOTONIC #2291 2021-10-21 17:07:57 -04:00
nick black
3dafea8e91
add notcurses_canpixel() 2021-10-19 18:04:58 -04:00
nick black
acb91339e4
v2.4.7 2021-10-16 23:52:33 -04:00
nick black
716482e8cc
add 2.4.7 to NEWS 2021-10-16 16:02:22 -04:00
nick black
41764d3691
v2.4.6 2021-10-16 16:01:21 -04:00
nick black
bb2004e589 ncvisual_render -> ncvisual_blit (docs) 2021-10-16 03:39:25 -04:00
nick black
091646dc47
name 3.0.0 2021-10-10 22:04:36 -04:00
nick black
2148bcc4f2
Revert "[nckeys] move from PUA-B to 'plane 18' #2247"
This reverts commit e83f1f5ba3.
2021-10-09 11:07:26 -04:00
nick black
e83f1f5ba3
[nckeys] move from PUA-B to 'plane 18' #2247 2021-10-09 11:06:51 -04:00
nick black
7088f4a767 [NEWS] note about DA1 feature 4 #2229 2021-10-09 09:58:28 -04:00
nick black
5b8f60b50b
[NEWS] mention that we support Kitty keyboard features 1, 2, and 8 2021-10-08 23:34:12 -04:00
nick black
9185ea000c
add ncplane_set_name()/ncplane_name() + documentation 2021-10-04 20:46:47 -04:00
nick black
43fc6afaa3
ncplane_move_family_{above, below}() #2232 2021-10-04 01:50:01 -04:00
nick black
ff84058f5c
v2.4.4 2021-10-03 00:20:52 -04:00
nick black
dd9da7766b Support USE_CPP=off for building without a C++ compiler #1720 2021-09-28 09:39:43 -04:00
nick black
436f24c770
Remove libreadline support, implement low-level ncdirect_readline #2211 (#2212)
It was realized that our libreadline wrapper was incompatible with the new input method, indeed fundamentally so. Rip out all libreadline support. Implement a minimal ncdirect_readline() -- quite minimal, but enough to get by. We'll want to fill this out later.

So no ABI/API breakage, though perhaps some visible behavioral change.
2021-09-28 01:37:44 -04:00
nick black
a603d265a4
v2.4.3 2021-09-26 12:35:50 -04:00
nick black
4fa15e4256
NEWS entry about ncplane_erase_region() #2181 2021-09-21 18:33:38 -04:00
nick black
94edc372e5
prep NEWS.md for 2.4.3 2021-09-20 08:09:40 -04:00
nick black
5269e4b709
v2.4.2 2021-09-20 08:03:12 -04:00
nick black
a54cf1813e
README/NEWS: info about wrappers 2021-09-20 02:45:59 -04:00
nick black
3faf8ee3fb
[input] introduce NCKEY_EOF #2185 2021-09-19 22:16:31 -04:00
nick black
ea5da346f0
Add keytype indicator to notcurses-input #2182 2021-09-19 21:01:40 -04:00
nick black
99007e128c
[input] add evtype to ncinput, for press/repeat/release #2182 2021-09-19 20:13:02 -04:00
nick black
1630a1629f
merge that shit 2021-09-14 03:41:46 -04:00
nick black
3cf5a67b84
input thread #2136 2021-09-14 03:34:53 -04:00
nick black
528a7db19a
erP 2021-09-13 18:30:45 -04:00
nick black
0213e026b2 allow users to set the stdplane's resizecb
Hardcode a call to ncplane_resize_maximize() in
notcurses_resize_internal() for the standard plane,
when handling the standard pile. allow the user
to set the standard plane's resize callback beyond
that. closes #2163.
2021-09-13 13:04:38 -04:00
nick black
772f429fb2
mention ncstrwidth_valid() in NEWS 2021-09-12 22:04:07 -04:00
nick black
4ec1bfd8be
[info] differentiate between kitty animation and kitty selfref #2161 2021-09-12 02:17:29 -04:00
nick black
8aa856f20b
v2.4.0 2021-09-06 05:29:56 -04:00