Commit Graph

1013 Commits

Author SHA1 Message Date
nick black
f401f2b4f1
[ncplayer] default to pixel blitting #2340 2021-11-11 11:42:03 -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
bbdbc055dd
OTHERS: mention will mcgugan's rich+textual 2021-09-29 15:37:51 -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
1f4b32def7
[doc] drop widechars.png 2021-09-19 18:38:14 -04:00
nick black
c59cbaa340
[index.html] drop bottom banner 2021-09-19 18:37:40 -04:00
nick black
1dd1fb2c74
[index.html] put repology on right 2021-09-19 18:34:05 -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
4a9f62f131
erp, able->unable in FAQ 2021-09-08 01:37:56 -04:00
nick black
8aa856f20b
v2.4.0 2021-09-06 05:29:56 -04:00
nick black
108012950e
notcurses-info: indicate that el capability is present 2021-09-04 19:07:09 -04:00
nick black
25afdd8ab6 [kitty] handle level 1 of keyboard protocol #2131 2021-09-04 17:39:04 -04:00
nick black
ef45189082
OTHERS: kill duplicate jexer entry 2021-09-02 19:27:48 -04:00
nick black
e6ce5196d3
v2.3.18 2021-08-31 20:06:55 -04:00
nick black
ae1121402d
ncneofetch: accept -v 2021-08-30 19:54:52 -04:00
nick black
0de89b893a
home page: move things around a little 2021-08-27 14:17:36 -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
91dfb487ad remove support for the iTerm2 graphics protocol #2060 2021-08-15 22:12:49 -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
4f86f1b0fd
1K stars! 2021-08-12 19:14:57 -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
24d7d6d995
start merging in the fauxmemstream branch #1977 2021-08-04 14:59:37 -04:00
nick black
6f0830c29a
force zero-width-joins #2016 2021-08-02 09:00:01 -04:00
nick black
16c2fff06b
notcurses-info.1: detail environment lines 2021-08-01 22:43:32 -04:00
nick black
89125802c6 notcurses-info: update man page with more text 2021-08-01 22:33:48 -04:00
nick black
1698cd02fc
add termpaint to OTHERS.md 2021-07-31 03:43:24 -04:00
nick black
42049dc95e
reorder demos so whiteout doesn't disrupt uniblock 2021-07-31 02:58:28 -04:00
nick black
1a97b49ac8
HISTORY: today we were accepted into Homebrew 2021-07-29 12:19:27 -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