Commit Graph

1111 Commits (master)

Author SHA1 Message Date
nick black f377e30300
[fdplane] constify args/env, kill unit test memory leaks 3 years ago
nick black 3bc2f40431
[notcurses.h] remove duplicate declarations 3 years ago
joseLuís 9c4a8d3028 minor fixes: args order, typo, doc warning 3 years ago
nick black 5ff59ce421
[putstr] take size_t* for sbytes, not int* #2331 3 years ago
nick black 9065975a3c
move synthesized events beyond unicode 3 years ago
nick black c775e8b7af
static inline most capability functions 3 years ago
nick black 8a63270c00
notcurses_{top/bottom} become static inlines 3 years ago
nick black b42587a1b9
notcurses_getc -> notcurses_get, absolute deadlines 3 years ago
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
3 years ago
nick black 12e01fdf5c [metric] prefix all defs with NC 3 years ago
nick black c20e859a6d [python] API conversions 3 years ago
nick black d29813457b stylemasks ought always be uint16_t 3 years ago
nick black 91420af5ce eliminate recursion in ncplane_polyfill_yx #2328 3 years ago
nick black 0231768406 prefix qprefix(), bprefix(), iprefix() with nc- 3 years ago
nick black 83ff2cfe5a unsigned geometries 3 years ago
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.
3 years ago
nick black 960414d818
[ncvisual_geom] remove redundant/confusing sentence from docs #2321 3 years ago
nick black 71fd75996c [direct] correct documentation for ncdirect_putstr() 3 years ago
nick black e9470ac4a9 unsigned box and resize 3 years ago
nick black 3792dd5592 [mergeplane] 0 means remainder #1696 3 years ago
nick black 042d810722 [ncpp] update to match new unsigned signatures #1696 3 years ago
nick black 37f077a653 normalize lenghts for line-drawing functions #1696 3 years ago
nick black d80884ea48 normalize geometry for ncvisual_from_plane, ncplane_contents, and ncplane_as_rgba() #1696 3 years ago
nick black 2e01c4c217
[ncvisual_blit] improve documentation 3 years ago
nick black 17b06b1180 [ncvgeom] add begy/begx and leny/lenx to ncvgeom 3 years ago
nick black b19847a06a [visual] extrinsic geometry unit tests 3 years ago
nick black 4028d3f56a ncvisual_geom(NULL, non-NULL) unit test 3 years ago
nick black a0b34f7062 [core] introduce ncvisual_geom(), replacing ncvisual_blitter_geom() #1684 3 years ago
nick black c906d2cf8a [ncvisual] move ncvgeom defintion to common area #1684 3 years ago
nick black 935e96a3bc [stats] add hpa_gratuitous stat #2199 3 years ago
nick black fec64cfc33 [core] use pthread_condattr_setclock rather than pthread_cond_clockwait() #2302 3 years ago
nick black bdab00a26b
ncplane_putwc_yx: kill VLA #2301 3 years ago
nick black 6e2ab83a08
[utils] declare notcurses_osversion #2293 3 years ago
nick black 864e2710a3 [demo] use pthread_cond_clockwait() with CLOCK_MONOTONIC #2291 3 years ago
nick black 3dafea8e91
add notcurses_canpixel() 3 years ago
nick black be42ff909c ncvisual_render -> ncvisual_blit (core/test) #1462 3 years ago
joseLuís 1e1d1bb631 constify ncselector_item reference fix #2270 3 years ago
nick black 99169aea42
tabbed janitorial work
clean up memory leak of tab names
ignore NCTYPE_RELEASE in tabbed PoC
constify strings in nctabbed_options
3 years ago
nick black abea3f9064
constify ncmenu_item/_section strings 3 years ago
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.
3 years ago
nick black 1152e2c318
ncselector_options: constify string arguments 3 years ago
nick black b42b866189 initial support for pixel offsets
Add pixel offset fields to blitterargs in the pixel
portion of the union. Check in blitter_geom that
pixel offsets are not used with cell blitting.
Prepare the new blitterargs fields. Account for pixel
offsets when calculating cell geometry #1682.
3 years ago
nick black ba10390e1e
wcstombs -> wcsrtombs in ncplane_putwstr_yx() 3 years ago
nick black 41cf28b775
[NCPP] restore Visual::subtitle() 3 years ago
nick black 36e9ab510d
[direct] allocate TAM when rendering images #2254 3 years ago
nick black 2148bcc4f2
Revert "[nckeys] move from PUA-B to 'plane 18' #2247"
This reverts commit e83f1f5ba3.
3 years ago
nick black e83f1f5ba3
[nckeys] move from PUA-B to 'plane 18' #2247 3 years ago
nick black 7d6fdceb6e
[internal] break API/ALLOC across headers once more to fix python 3 years ago
nick black a3ceeac170
unify definitions of API/ALLOC 3 years ago
nick black 87341111b8
[menu] ignore release events 3 years ago
nick black 3041496e3a
define NCKEY_ values for modifiers 3 years ago
nick black 5f82a49065
[tetris] drop Release events 3 years ago
nick black 41de49eb6c
[windows] use declspec(dllexport) for API 3 years ago
nick black a8b3634ca7 [ncvisual] add pxoffy+pxoffx fields to ncvisual_options #1682 3 years ago
nick black 66d6913b69
[ncpp] express EvType enums 3 years ago
nick black 8fc2a4b59b notcurses-input: add media keys 3 years ago
nick black 316c192426 [kitty] handle some more functional forms #2184 3 years ago
nick black 6d3c64a5c1
[ncvisual_pixelgeom] document that results are invalidated by terminal resize #2141 3 years ago
nick black 66801aa254 ncplane_dup: don't make new root planes 3 years ago
nick black 9185ea000c
add ncplane_set_name()/ncplane_name() + documentation 3 years ago
nick black 518eca2f60
move_family_{below,above}() need return int #2232 3 years ago
nick black e613b81b82
ncplane_move_family_{below, above}() with unit tests #2232 3 years ago
nick black 43fc6afaa3
ncplane_move_family_{above, below}() #2232 3 years ago
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.
3 years ago
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.
3 years ago
initramfs 671656ea80 fix ncpp throwing heap allocated exceptions 3 years ago
joseLuís fb003c4eef fix doc-comment on ncplane_erase_region
and another minor typo
3 years ago
joseLuís ff9497ea3d add doc-comment for `ncplane_center_abs` 3 years ago
joseLuís 2141338e4c revert stylemask return types #2200 3 years ago
joseLuís 1811e3b0ef fix stylemask return types #2200 3 years ago
joseLuís d55a44ef4b make `ncdirect_styles` require const reference 3 years ago
nick black 72757044da [ncplane_erase_region] generalize #2181 3 years ago
nick black 92f4dce595
use wcsrtombs() in place of wcstombs() 3 years ago
nick black 3faf8ee3fb
[input] introduce NCKEY_EOF #2185 3 years ago
nick black ea5da346f0
Add keytype indicator to notcurses-input #2182 3 years ago
nick black 99007e128c
[input] add evtype to ncinput, for press/repeat/release #2182 3 years ago
nick black 5eed1abe8e notcurses_get: restore old delaybound behavior #2169 3 years ago
joseLuís 17133fb4f9 remove old reference to sigmask in notcurses_get
and update description for the same function in USAGE.md
3 years ago
nick black 1d4c62d446
[input] implement timeouts 3 years ago
nick black 9e9a949f0f
[direct] move to new cursor location reports 3 years ago
nick black ede5190fb8
redeclare ncdirect_getc() 3 years ago
nick black 1630a1629f
merge that shit 3 years ago
nick black 3cf5a67b84
input thread #2136 3 years ago
nick black 39025dd053
eliminate kitty graphics one-off enum type 3 years ago
nick black 2fbdb50d71
remove deprecated static inlines 3 years ago
nick black 20edd5a3cd
purge deprecated cell typedef 3 years ago
nick black be1dc5f2f9
mention CLI mode following ncoptions 3 years ago
nick black 4789aca20f
notcurses.h: remove some more deprecated static inlines 3 years ago
nick black e14a320217
notcurses.h: remove some deprecated #defines 3 years ago
nick black 4ec1bfd8be
[info] differentiate between kitty animation and kitty selfref #2161 3 years ago
nick black 88f40df4ae
[plots] print current sample as summary #2152 3 years ago
nick black 54cf38b076
add ncstrwidth_valid() and documentation #2153 3 years ago
nick black 467fed4a3a
add attribute(nonnull) to some declarations 3 years ago
nick black ff12a1f75b
distinguish between halfblock and quadrant capabilities #2109 3 years ago
nick black 93073e595a
move includes from ncport.h to internal compat.h 3 years ago
nick black ba030a3293 Windows: kill some warnings 3 years ago
nick black f4f2bdd2f6 ncport: use wcslen as approximation to wcswidth for now 3 years ago
nick black 1571bfee72 pixelplots: paint only through egcidx #1382 3 years ago
nick black ed557257d9 add notcurses_{enter,leave}_alternate_screen #2082 3 years ago
nick black b978f58985 stop supporting/advertising renderfp #2081 3 years ago
nick black 096ddf313a
remove unused PNG code 3 years ago
nick black 99a653db5f
shuffle up ncport.h to restore Hurd 3 years ago
nick black d00a96d850
GNU Hurd doesn't have wcwidth() nor wcswidth() 3 years ago
nick black c33ce4f9dd
rewrite NCCHANNELS_INITIALIZER in terms of NCCHANNEL_INITIALIZER 3 years ago
nick black e35c49889d
ncchannel: make some unsigneds explicit uint32_ts 3 years ago
nick black 6d4e58202f
fix windows build, ugh 3 years ago
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
3 years ago
nick black bf2754cedb get windows working once more 3 years ago
nick black 6a4a7fb1d6 define out O_NONBLOCK for windows 3 years ago
nick black a346a5bf64
add new functions notcurses_{host,account}name() 3 years ago
nick black 24d7d6d995
start merging in the fauxmemstream branch #1977 3 years ago
nick black 6162ba3943 restore compatibility ncvisual_subtitle() 3 years ago
nick black b0b5e49383 ncvisual_from_palidex 3 years ago
nick black 1448960cd5 start handling type-1 DVB subtitles #1311 3 years ago
nick black 7b5f4175eb
add nccell_cols(), deprecate nccell_width() 3 years ago
nick black 0a6fd661b4 set_rgb: unsigned unless we're clipping 3 years ago
nick black 0d289958f9
death to sigset_t #1967 3 years ago
nick black 31b208502a
[ncpp] Direct constructor: accept flags #1981 3 years ago
nick black 1113f7dd35
windows: patch out more constants 3 years ago
nick black 0ae839c63d
windows craveth not posix signals 3 years ago
nick black 96fb4d75bf
add ncport.h 3 years ago
nick black 873ee6f227
windows cleanups 3 years ago
nick black b97dc03a36 windows craves _byteswap_ulong 3 years ago
nick black 432f9b0317
no netinet/in.h on windows 3 years ago
Michael Bradley, Jr f008c75275 windows: use <winsock.h> instead of <sys/endian.h>
<sys/endian.h> doesn't exist on Windows + mingw-w64-ucrt-x86_64.

The definition of htole included in this commit is a guess and may be wrong;
and it may be wrong to use <winsock.h>.
3 years ago
nick black 1fae68d9c6
add NCPLANE_OPTION_FIXED #1909 3 years ago
nick black c9ddec9de7
add input_events and input_errors stats #1914 3 years ago
nick black b1b35a56e7
move stats lock into object with stats struct #1914 3 years ago
nick black 7722ea60c6
move lock into ncstats object #1914 3 years ago
nick black 33752742d1 byteswap on OS X #195 3 years ago
nick black 15b9b64cad
char32_t is C++, not C -- move to uint32_t 3 years ago
nick black dcc58ef713 input: process CSI for cursor report #1692 3 years ago
nick black 12000dea27
throw some nonnull love into notcurses.h 3 years ago
Tomek Szczęsny 0baf4ea1b5
Relative cursor move (#1885)
Relative cursor move by @tomek-szczesny
3 years ago
nick black 92293dd402
adapt new python to NCCHANNEL 3 years ago
nick black ec4320f215
remove non-cffiable definitions 3 years ago
nick black 3123911637
change up #defines to accommodate motherfucking python 3 years ago
nick black bc4f2a3626
CHANNELS_RGB_ -> NCCHANNELS_ 3 years ago
nick black 75cee68631
Cell.hh: stop exposing implementation details 3 years ago
nick black bfca06264a
fix up indexing for NCBLIT_8x1 plotter #1912 3 years ago
nick black 14a50cfa3f
add ncchannels_reverse, use it in ncmenu, add unit test #1878 3 years ago
nick black f0aec109b7
support menus on any plane #1645 3 years ago
nick black 8846e3cee2
ncdirect_putegc(), get true width in ncwidth #1899 3 years ago
nick black bfd069a755
add asterisk sequences to ncseqs.h 3 years ago
nick black 8365764b43
even out alignment in ncseqs.h 3 years ago
nick black d38c15302a
notcurses-info: add sub+superscripts 3 years ago
nick black 00e28cc569
complete ncplane_cursor_move_yx() documentation 3 years ago
nick black 43f0a2e5c8
remove false comments on ncplane_move_yx() 3 years ago
nick black 32ade77dd5
more sequences, more notcures-info 3 years ago
nick black cd80b70594
add ncplane_moverel(), no unit tests though =[ #1881 3 years ago