Commit Graph

742 Commits

Author SHA1 Message Date
nick black
8d84c79296
[stats] add new cell_geo_changes and pixel_geo_changes stats #2384 2021-11-27 15:17:12 -05:00
nick black
54046dff5e notcurses_init: document screen clear if smcup is absent 2021-11-23 19:18:26 -05:00
nick black
4db068876b
notcurses_init.3: update some obsolete documentation 2021-11-23 17:46:00 -05:00
nick black
e3d71d4b02
notcurses_init: document NCOPTION_PRESERVE_CURSOR #2196 2021-11-23 17:38:11 -05:00
nick black
0dfc5facdf
2.4.98 trial balloon 2021-11-21 00:33:46 -05:00
nick black
926cc77ac5
notcurses_cell.3: document palindex functions #2360 2021-11-19 08:51:05 -05:00
nick black
58d95dfb25
notcurses_channels.3: document palindex #2360 2021-11-19 08:50:35 -05:00
nick black
e205cde05f
set versions to 2.4.97 for prep nuget build #2354 2021-11-18 21:36:24 -05:00
nick black
ca0b168192
name everything 2.4.99 2021-11-17 19:40:32 -05:00
nick black
d1c9dd93cf
[core] add ncplane_resize_placewithin #1478 2021-11-17 04:02:49 -05:00
nick black
da4efcf905
notcurses_input.3: document NCKEY_SIGNAL 2021-11-17 03:07:47 -05:00
nick black
0124daf8b7
restore ncselector_destroy API, set widget in ncreader #2347 2021-11-17 02:02:55 -05:00
nick black
76f2a3d374
notcurses_selector.3: document that n cannot be standard plane 2021-11-16 23:28:31 -05:00
nick black
bead8cbffc [widgettrack] hook up nctabbed, nctree, ncreel, nc[ud]plot #2342 2021-11-16 22:28:37 -05:00
nick black
9065975a3c
move synthesized events beyond unicode 2021-11-09 04:16:23 -05:00
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
c20e859a6d [python] API conversions 2021-11-08 21:05:15 -05:00
nick black
d29813457b stylemasks ought always be uint16_t 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
71fd75996c [direct] correct documentation for ncdirect_putstr() 2021-11-04 10:08:26 -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
17b06b1180 [ncvgeom] add begy/begx and leny/lenx to ncvgeom 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
935e96a3bc [stats] add hpa_gratuitous stat #2199 2021-10-28 06:42:19 -04:00
nick black
95f659d62b
[notcurses_input.3] update to specify CLOCK_MONOTONIC 2021-10-26 09:59:33 -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
6e2ab83a08
[utils] declare notcurses_osversion #2293 2021-10-21 18:36:52 -04:00
nick black
9097568ac0
document NOTCURSES_LOGLEVEL #2277 2021-10-17 17:28:35 -04:00
nick black
acb91339e4
v2.4.7 2021-10-16 23:52:33 -04:00
nick black
41764d3691
v2.4.6 2021-10-16 16:01:21 -04:00
nick black
9d002feea3 remove last instances of ncvisual_render() #1462 2021-10-16 03:39:25 -04:00
nick black
bb2004e589 ncvisual_render -> ncvisual_blit (docs) 2021-10-16 03:39:25 -04:00
nick black
99169aea42
tabbed janitorial work
clean up memory leak of tab names
ignore NCTYPE_RELEASE in tabbed PoC
constify strings in nctabbed_options
2021-10-14 03:26:15 -04:00
nick black
abea3f9064
constify ncmenu_item/_section strings 2021-10-13 20:38:21 -04:00
nick black
2015e8ffc9
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.
2021-10-13 19:19:43 -04:00
nick black
1152e2c318
ncselector_options: constify string arguments 2021-10-13 18:38:10 -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
a8b3634ca7 [ncvisual] add pxoffy+pxoffx fields to ncvisual_options #1682 2021-10-08 01:56:22 -04:00
nick black
7ba72c4c20
v2.4.5 2021-10-07 04:30:05 -04:00
nick black
6d3c64a5c1
[ncvisual_pixelgeom] document that results are invalidated by terminal resize #2141 2021-10-07 00:53:12 -04:00
nick black
4c81a72bab
notcurses_input.3: mention mouse events in bottom/right margins can show up #2233 2021-10-05 05:34:06 -04:00
nick black
cadd5f75fb notcurses_plane.3: add section about bindings 2021-10-05 02:15:56 -04:00
nick black
9185ea000c
add ncplane_set_name()/ncplane_name() + documentation 2021-10-04 20:46:47 -04:00
nick black
518eca2f60
move_family_{below,above}() need return int #2232 2021-10-04 13:41:14 -04:00
nick black
43fc6afaa3
ncplane_move_family_{above, below}() #2232 2021-10-04 01:50:01 -04:00
nick black
e42a76a2d2
Remove and replace ncplane_boundlist()
The function ncplane_boundlist() was poorly-considered,
and ought never have existed. Remove all traces of it.
Add the new functions ncplane_move_family_top() and
ncplane_move_family_bottom(). Replace the
ncplane_boundlist() code in notcurses-demo with a call
to ncplane_move_family_top(). We'll also want
ncplane_move_family_above() and ncplane_move_family_below(),
but they're not yet here. Document all z-axis movement
functions; they were lacking documentation before #2232.
2021-10-04 01:01:35 -04:00
nick black
ff84058f5c
v2.4.4 2021-10-03 00:20:52 -04:00
nick black
b5c161a07c
Unify control sequence automata #2183 (#2208)
Unify the dynamic, dataflow special keys automaton and the static, codeflow terminal response automaton, yielding a single automaton. Add kitty keyboard support information to `notcurses-info`. Closes #2183.
2021-09-30 05:08:19 -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
72757044da [ncplane_erase_region] generalize #2181 2021-09-21 18:32:39 -04:00
nick black
5269e4b709
v2.4.2 2021-09-20 08:03:12 -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
1d4c62d446
[input] implement timeouts 2021-09-16 02:03:00 -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
f9df8e14fc
v2.4.1 2021-09-12 22:14:19 -04:00
nick black
4ec1bfd8be
[info] differentiate between kitty animation and kitty selfref #2161 2021-09-12 02:17:29 -04:00
nick black
54cf38b076
add ncstrwidth_valid() and documentation #2153 2021-09-10 01:28:27 -04:00
nick black
8aa856f20b
v2.4.0 2021-09-06 05:29:56 -04:00
nick black
25afdd8ab6 [kitty] handle level 1 of keyboard protocol #2131 2021-09-04 17:39:04 -04:00
nick black
e6ce5196d3
v2.3.18 2021-08-31 20:06:55 -04:00
nick black
1915fb48a1
v2.3.17 2021-08-22 16:08:03 -04:00
nick black
ed557257d9 add notcurses_{enter,leave}_alternate_screen #2082 2021-08-21 23:00:58 -04:00
nick black
b978f58985 stop supporting/advertising renderfp #2081 2021-08-21 23:00:58 -04:00
nick black
5449878840
v2.3.16 2021-08-19 22:14:45 -04:00
nick black
89622ed1a1
notcurses_init.3: close parenthetical 2021-08-17 21:24:50 -04:00
nick black
f0558ff67a
notcurses_init.1: update comments on log levels 2021-08-17 21:15:44 -04:00
nick black
c9fbc5d7f9
v2.3.15 2021-08-17 19:18:05 -04:00
nick black
28def058ce
v2.3.14 2021-08-17 18:32:46 -04:00
nick black
c33ce4f9dd
rewrite NCCHANNELS_INITIALIZER in terms of NCCHANNEL_INITIALIZER 2021-08-13 14:14:33 -04:00
nick black
e35c49889d
ncchannel: make some unsigneds explicit uint32_ts 2021-08-13 03:54:06 -04:00
nick black
4d6526a61d ncneofetch rewritten in CLI mode
ncneofetch was previously direct mode followed by rendered mode with
margins, a Frankenstein application if one ever existed. Rewrite it
using CLI mode, extending the latter as necessary to accomplish this
task. We now have one fewer dependency on direct mode, we have better
proven out CLI mode, and we get a ~30% reduction in ncneofetch runtime.
Good stuff! Closes #2030.

Add ncplane_scrollup() and ncplane_scrollup_child()
Cleans up ncport.h
Eliminates some inconsequential memory leaks in ncneofetch
Add SPRIXEL_UNSEEN to avoid invalid moves on
 not-yet-displayed sprixels
2021-08-12 18:37:53 -04:00
nick black
9fcbf00420
v2.3.13 2021-08-04 23:37:22 -04:00
nick black
a346a5bf64
add new functions notcurses_{host,account}name() 2021-08-04 23:17:34 -04:00
nick black
1e248e41e1
v2.3.12 2021-07-29 00:55:19 -04:00
nick black
b0b5e49383 ncvisual_from_palidex 2021-07-27 15:47:21 -04:00
nick black
1448960cd5 start handling type-1 DVB subtitles #1311 2021-07-27 15:47:21 -04:00
nick black
7b5f4175eb
add nccell_cols(), deprecate nccell_width() 2021-07-26 19:39:15 -04:00
nick black
0a6fd661b4 set_rgb: unsigned unless we're clipping 2021-07-25 08:26:40 -05:00
nick black
0d289958f9
death to sigset_t #1967 2021-07-25 00:38:33 -04:00
nick black
8d46a0bd17
capture bytes in linux framebuffer graphics to sprixelbytes stat 2021-07-21 17:41:32 -04:00
nick black
30d71ab6b9
v2.3.11 2021-07-20 14:07:47 -04:00
nick black
1f254c47b2
implement child plane scrolling #1883 2021-07-18 16:35:01 -04:00
nick black
382b68f5ab
why weren't we always handling SIGFPE? 2021-07-17 21:55:57 -04:00
nick black
1fae68d9c6
add NCPLANE_OPTION_FIXED #1909 2021-07-15 23:04:25 -04:00
nick black
3aaff6a944
v2.3.10 2021-07-14 22:41:59 -04:00
nick black
561f4eba8c
v2.3.9 2021-07-12 12:24:38 -04:00
Tomek Szczęsny
0baf4ea1b5
Relative cursor move (#1885)
Relative cursor move by @tomek-szczesny
2021-07-11 09:53:56 -04:00