Commit Graph

959 Commits (040ff99fb7ed6dee113ce303223f75cd8a38976c)

Author SHA1 Message Date
nick black f9df8e14fc
v2.4.1 3 years ago
nick black 4ec1bfd8be
[info] differentiate between kitty animation and kitty selfref #2161 3 years ago
nick black 54cf38b076
add ncstrwidth_valid() and documentation #2153 3 years ago
nick black 8aa856f20b
v2.4.0 3 years ago
nick black 108012950e
notcurses-info: indicate that el capability is present 3 years ago
nick black 25afdd8ab6 [kitty] handle level 1 of keyboard protocol #2131 3 years ago
nick black e6ce5196d3
v2.3.18 3 years ago
nick black ae1121402d
ncneofetch: accept -v 3 years ago
nick black 0de89b893a
home page: move things around a little 3 years ago
nick black 1915fb48a1
v2.3.17 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 5449878840
v2.3.16 3 years ago
nick black 89622ed1a1
notcurses_init.3: close parenthetical 3 years ago
nick black f0558ff67a
notcurses_init.1: update comments on log levels 3 years ago
nick black c9fbc5d7f9
v2.3.15 3 years ago
nick black 28def058ce
v2.3.14 3 years ago
nick black 91dfb487ad remove support for the iTerm2 graphics protocol #2060 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 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 9fcbf00420
v2.3.13 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 6f0830c29a
force zero-width-joins #2016 3 years ago
nick black 16c2fff06b
notcurses-info.1: detail environment lines 3 years ago
nick black 89125802c6 notcurses-info: update man page with more text 3 years ago
nick black 42049dc95e
reorder demos so whiteout doesn't disrupt uniblock 3 years ago
nick black 1e248e41e1
v2.3.12 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 8d46a0bd17
capture bytes in linux framebuffer graphics to sprixelbytes stat 3 years ago
nick black 30d71ab6b9
v2.3.11 3 years ago
nick black 1f254c47b2
implement child plane scrolling #1883 3 years ago
nick black 382b68f5ab
why weren't we always handling SIGFPE? 3 years ago
nick black 1fae68d9c6
add NCPLANE_OPTION_FIXED #1909 3 years ago
nick black 3aaff6a944
v2.3.10 3 years ago
nick black 561f4eba8c
v2.3.9 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 83d8724e63
updating CELL_ -> NC_ references 3 years ago
nick black 603fd770fe
update new python for CHANNEL_RGB change 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 4a23acab2d
fission demo: go both up and down #1896 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 cd80b70594
add ncplane_moverel(), no unit tests though =[ #1881 3 years ago
nick black f1202df541
document ncplane_cursor_move_yx better #1882 3 years ago
nick black 1189891167
v2.3.8 3 years ago
nick black 0e341fa3de
notcurses-info.1: describe output 3 years ago
nick black 8b6a30cba8
v2.3.7 3 years ago
nick black a21113a66a
ncls: use NCSCALE_HIRES with NCBLIT_PIXEL by default 3 years ago
nick black 490c89f694 add ncplane_scrolling_p() #1841 3 years ago
nick black 7361683d3b
deny control characters in cells and plane emissions #1840 3 years ago
nick black e813e3abe4
ncls: default to NCBLIT_PIXEL #1835 3 years ago
nick black aa716d6814
add NCSTYLE_BLINK back to documentation #1818 3 years ago
nick black 166212f234 document NCOPTION_PRESERVE_CURSOR #1823 3 years ago
nick black 9d7f07771b
GTFO NCSTYLE_DIM, NCSTYLE_REVERSE #1818 3 years ago
nick black 481d539092
v2.3.6 3 years ago
nick black a14a5271ac
v2.3.5 3 years ago
nick black 041f97371f add stat for ASUs and send them #1582 3 years ago
nick black 93fd4515e7
ncplayer: accept a color specification for -a 3 years ago
nick black 379453c8ea
render piles to file/buffer
Replace notcurses_render_to_file() and
notcurses_render_to_buffer() with variants that work
on arbitrary piles (the former only worked on the standard
pile). Rewrite the former as trivial wrappers around the
latter, and deprecate the former. Closes #1770.
3 years ago
nick black e5662ac506 add and document sprixelbytes stat #1801 3 years ago
nick black d360cc1d1e ncvisual_from_rgb_{packed, loose}() #1767 3 years ago
nick black c8dfa17485
Set up sane logging for direct mode
All our diagnostic macros required a struct notcurses from
which to extract the loglevel. Eliminate this parameter,
and update all caller sites. Add a library-wide (but not
exported) loglevel variable, and set it from both
notcurses_core_init() and ncdirect_core_init(). Add two
new direct mode flags, NCDIRECT_OPTION_VERBOSE and
NCDIRECT_OPTION_VERY_VERBOSE, mapping them to
NCLOGLEVEL_WARNING and NCLOGLEVEL_INFO respectively.
Closes #1690.
3 years ago
nick black 048f2f5e77
handle nointerpolate in transparent sexblitter cell #1763 3 years ago
nick black c9a338e0fd
add ncdirect_canget_cursor() #1790 3 years ago
nick black 476ebe5533
tie warning about no multimedia to linking with null implementation #1771 3 years ago
nick black 3cf971ac67 update ncvisual_plane.3 for ncplane_as_rgba() #1441 3 years ago
nick black 6d68e3c0cd
reference tack(1) in notcurses-{input,info}(1) 3 years ago
nick black 0d7a5a5ef8 remove the majority of notcurses_check_pixel_support() calls #1469 3 years ago
nick black cadd4aefee s/CELL_ALPHA_/NCCELL_ALPHA_/g 3 years ago
nick black 160868d9e8
v2.3.4 3 years ago
nick black 4ca1036da9
v2.3.3 3 years ago
nick black d695a8206f
add ncdirect_detected_terminal() and notcurses_detected_terminal() #1759 3 years ago
nick black 889d985c85
notcurses_visual.3: clarify parameters #1615 3 years ago
nick black deea4ddf9c ncdirectf_geom: move to ncvisual_options #1746 3 years ago
nick black ad13e5c428
index.html: reference notcurses-info 3 years ago
nick black c56dfc2607
install caps-rendered as notcurses-info #1745 3 years ago
nick black 5426e153f7 ncdirectf_render: make ncvisual_options const, thanks @joseluis #1738 3 years ago
nick black c967028fbe ncplayer: add -n option for noninterpolative scaling #1738 3 years ago
nick black 59f4edd777 ncdirectf_render: accept an ncvisual_options #1738 3 years ago
nick black 6fcaad3c5d
generalize ncvisual_inflate() to ncvisual_resize_noninterpolative() #1738 3 years ago
nick black 3aa287b9d4
notcurses.3: make explicit that rasterizing clears the area #1732 3 years ago
nick black d730abb6b0 notcurses_render: purge falsehood #1732 3 years ago
nick black 7d6c03fe6a notcurses_visual.3: document BLEND interactions with PIXEL #1735 3 years ago
nick black a6433caeaa add NCVISUAL_OPTION_NOINTERPOLATE #1576 3 years ago
nick black ea13e25cf4 kill NCSCALE_INFLATE #1576 3 years ago
nick black bf62f5ac3f
notcurses_visual.3: document what functionality requires a multimedia backend #1718 3 years ago
nick black 507d2c8d8e
v2.3.2 3 years ago
nick black d170e6e7a2 man pages: document that only one context can be active at a time #1694 3 years ago
Nick Black cd2b5de5fa
Panblitter ncplane_as_rgba() (#1697)
ncplane_as_rgba: genericize across blitters

ncplane_as_rgba() previously was implemented explicitly
in terms of NCBLIT_2x1. it now uses the `egcs` field of the
`blitset`. this supports NCBLIT_2x2 and NCBLIT_3x2 in
ncplane_rgba(). Closes #1490.
3 years ago
nick black d20a4d8104
ncdirect: restore colors properly following sgr #1703 3 years ago
nick black c4e2932c76 add ncdirect_supported_styles(), move SGR/SGR0/OC into escblock #1525 3 years ago
nick black 50693fb812
add a section on hardware cursor to notcurses_init.3 #1681 3 years ago
nick black f2b26723c9
document notcurses_cursor_yx() #1681 3 years ago
nick black 07ea230476
notcurses.3: proper pandoc syntax for FILE* 3 years ago
nick black 6969652031
add ncinput_nomod_p() 3 years ago
nick black 739c96032d
v2.3.1 3 years ago
nick black 42f26fcb1e ncls: update to prep_image() maxy/maxx #1661 3 years ago
nick black c42fab1564 implement ncdirectf passthroughs #1659 3 years ago
nick black d1e7adf410 add ncdirectf api #1659 3 years ago
nick black f91ffae773
link to new 2.3.0 video 3 years ago
nick black 1a7c5172f4
add note about sprixel/fb relationship to NEWS.md 3 years ago
nick black 8bd73378cf
add NCSCALE_INFLATE 3 years ago
nick black ea4c593455
v2.3.0 3 years ago
nick black dc9db79100
v2.2.11 3 years ago
nick black f080e1502b add ncplane_erase_region() 3 years ago
nick black 73fc4ea935
demo: change up the order a bit, moving zoo before outro 3 years ago
nick black 06e7391b89
release.sh: change both instances of the version in index.html 3 years ago
nick black 2d6bdd3b5b
v2.2.10 3 years ago
nick black 4f5a8480c0 document new option NCVISUAL_OPTION_CHILDPLANE #1603 3 years ago
nick black 1a3df54ab9
release.sh: properly mangle index.html 3 years ago
nick black 923bc40516
v2.2.9 3 years ago
nick black 55837bcb55
add nccell_width() to avoid calling utf8_egc_len externally 3 years ago
nick black 5947f3d4d2 experimental threaded xray #1607 3 years ago
nick black 3eb004b61d s/channels/ncchannels/g #1570 3 years ago
nick black d8cc3569ac
Block some signals while writing
Writing a partial escape can easily lock up a terminal. This
is especially relevant when working with bitmaps, as they're
thousands or even millions of times longer than a typical
escape. Immediately before writing, block SIGINT, SIGQUIT, and
SIGTERM in the writing thread, and unblock them upon emerging
(at which point we'll immediately see any queued signal
get delivered). Don't block signals like SIGSEGV that would
seem indicative of actual problems. For this to actually work,
all other threads must also have the signals masked; we thus
now add them to the signal mask of notcurses_getc(), rather
than deleting them. Closes #1416.
3 years ago
nick black e43a9955cd
channel_* functions -> ncchannel_* #1570 3 years ago
Nick Black 2c5d938cbd
Paint sprixels bottom-to-top (#1589)
* Paint sprixels in order, bottom-to-top

We don't want to have to track sprixel order whenever someone
moves an ncplane, so just keep a list growing backwards as we
pass top-to-bottom in notcurses_render_internal(). Each time
we hit a sprixel plane, splice it out of the sprixel list, and
add it to the front of our temporary list. When we hit the
bottom, stick this temporary list on the end of our existing
list (any such planes are to be deleted, which comes before
drawing). Closes #1575.

* reorder collected sprixellist; solves kitty but breaks sixel =/ #1575

* remove debugging cruft

* [rust] fix up mergedown mutability
3 years ago
nick black e29701cac3
notcurses-tester: accept -l to enable all logging 3 years ago
nick black 5a72383cb0
reject sprixels larger than plane, add unit test #1572 3 years ago
nick black cc73811dd4
sprixelated planes may be resized after all #1572 3 years ago
nick black cc657bbe35
notcurses_plane(3): document sprixelated effects #1585 3 years ago
nick black 23ef5313e3
document pixel blitting vis-a-vis planes #1585 #1572 3 years ago
nick black 68db5d5df6
notcurses(3) add paragraph on visuals #1585 3 years ago
Nick Black c8680255be
palette256 -> ncpalette #1570 (#1573)
everything prefixed with palette256 is now prefixed with ncpalette
3 years ago
nick black f4aa419a31
add notcurses_canhalfblock()/notcurses_canquadrant() #1575 3 years ago
nick black 6c7b40debf
add stats for sprixel emissions/elisions #1563 3 years ago
nick black df8ff1f947
update index page 2.2.6 -> 2.2.8 3 years ago
nick black d5b58d9f58
v2.2.8 3 years ago
nick black eefc4fb91f
v2.2.7 3 years ago
nick black 6b7195a387 document new function ncvisual_inflate() #1546 3 years ago
Nick Black 8c6cd6a630
Further work on opacity optimizations (#1549)
* [bitmap] on move, clear old OPAQUE cells #1527
* update ncvisual_blitter_geom() documentation #1547
* replace some ncvisual_blitter_geom with NCVISUAL_OPTION_VERALIGNED
* [normal] replace ncvisual_blitter_geom with NCVISUAL_OPTION_VERALIGNED
* [intro] use ncvisual_blitter_geom() correctly #1547
* ncvisual_blitter_geom: only set *blitter on success
3 years ago
nick black feab25bd7d ncdirect_render_visual: account for bitmap overhang #1515 3 years ago
nick black 0de734cb02 ncplayer has 9 log levels, not 10 3 years ago
nick black 53f92760dd ncplayer: support multiframe in direct mode via streamfile #1515 3 years ago
nick black 7ad5219fa2
convert another crop of cell_ to nccell_ #1532 3 years ago
Nick Black e591ec2e98
cell -> nccell throughout much of remaining API (#1535)
cell -> nccell throughout much of the API #1532
3 years ago
nick black fe9d877f80
notcurses-demo: add attribution for greatscott.jpg 3 years ago
nick black 4834ec6c1f
doc/man/index.html: link to version described 3 years ago
nick black e017dcba89
v2.2.6 3 years ago
nick black fada4148b5 [ncplayer] add -a option for alpha channel #1518 3 years ago
nick black 0c566cd74a [ncvisual] pipe transcolor through #1518 3 years ago
nick black ff76dba6ed
cell_strdup -> nccell_strdup 3 years ago
nick black 0fc5f7835d
[docs] cell_release -> nccell_release 3 years ago
nick black cf3a6317aa export ncdirect_stream() 3 years ago
nick black f294c6bb0b
add ncplane_pixelgeom() #1507 3 years ago
nick black 05082fc277
ncplane_as_rgba(), returns pixel geometry along with bitmap #1508 3 years ago
nick black 9546b7e914
move logo to doc/ from data/ to keep install simple 3 years ago
nick black b6a9b59f9d notcurses_plane.3: add BUGS about bitmap graphics and ncplane_at_yx() 3 years ago
nick black b92991e57b
[visual] allow NCBLIT_PIXEL in ascii mode 3 years ago
nick black 57114c8005
[bitmaps] remove redundant PixelWipeBlocks test 3 years ago
nick black c87992c452
[ncvisual] fix NCVISUAL_OPTION_VERALIGNED definition 3 years ago
nick black 50df69ab31 [planes] implement MARGINALIZED in ncplane_create() #1472 3 years ago
nick black 78c8e70933 [planes] add NCPLANE_OPTION_MARGINALIZED #1472 3 years ago
nick black 86de98c5d2 Fix cell blit / plane vertical alignment
Deprecate ncplane_align(), after rewriting it as a passthrough
to new function ncplane_halign(). Add ncplane_valign(). Update
all callers. Closes #1468.
3 years ago
nick black 6105913d06 [planes] add NCPLANE_OPTION_VERALIGNED #1465 3 years ago
nick black f714337fe1 [visual] NCVISUAL_OPTION_HORALIGNED for cell blitters #1443 3 years ago
nick black 033ae7f93e [capabilities] eradicate notcurses_canpixel() 3 years ago
nick black 828cce634a [capabilites] remove redundant notcurses_canpixel() 3 years ago
MasFlam c677a4fd8a
Add the nctabbed widget (#1431)
Tabs for the people!

fixes #986
3 years ago
nick black a27fc0e3f7 notcurses_fade.3: break up typedef across lines 3 years ago
nick black 2cf0f06562 [visual] add OPTION_HORALIGNED #1443 3 years ago
nick black 3c0a765599
notcurses_render.3: render a pile, not planes 3 years ago
nick black 33d408b4a3
[sixel] call sprite_sixel_init at proper time #1436 3 years ago
nick black 7b61822a7e
notcurses.3.md: add notcurses_tree reference 3 years ago
nick black a6548fbcc8 [ncvisual] refuse to blit bitmaps to standard plane 3 years ago
nick black 66e545f160
[pixel] fill out only through the plane #1391 3 years ago
nick black 70059297c0
notcurses_direct.3: add image render+raster to docs 3 years ago
nick black ede7594971
[ncls] accept -s for scaling mode #1411 3 years ago
nick black 9728e79396 [ncplayer] obey margins in direct mode #1411 3 years ago
nick black 7bc3800e27 [direct] accept limits for prep_image() #1411 3 years ago
nick black 0fdb3bd401
ncplayer.1: specify 0..6 for runtime blitter controls #1406 3 years ago
nick black 04ad933a4b
ncplayer: don't try to drive four/eight #1406 3 years ago
nick black b97af99fa0 man1: normalize notcurses case 3 years ago
nick black b117f26df3 ncplayer.1: document default blitters, plus hires and scalehi 3 years ago
nick black 7dfb366cbc
notcurses-demo: drop 'i' argument 3 years ago
nick black 6672590996
index.html: properly sort notcurses_reel.3 3 years ago
nick black 1dabe17d84
notcurses_tree.3: update version to 2.2.3 3 years ago
nick black 5e74070c77
index.html: add notcurses_tree.3 3 years ago
nick black f35e2eb982
notcurses_visual.3: link to sixel/kitty 3 years ago
nick black bc84987af5
v2.2.3 3 years ago
nick black 91b83ea2d9
ncls: accept -b param to specify blitter 3 years ago
nick black 49ce0d1c57
mention SIGCONT along with SIGWINCH 3 years ago
nick black d4e87b4a35 rename notcurses-direct-pydemo ncdirect-pydemo 3 years ago
nick black 100a89291b hide cell_{b,f}channel(), cell_set_{b,f}channel() 3 years ago
nick black bdc726349f ncplayer.1: update blitter names 3 years ago
nick black cd0aaf58a2 normalize blitter names 3 years ago
nick black 5b4d920646 pixel documentation 3 years ago
nick black 6c7c9be6d2 require explicit check for pixel support
Add `notcurses_check_pixel_support()` and
`ncdirect_check_pixel_support()` per #1367. Removes
NCOPTION_VERIFY_SIXEL, again per #1367. Adds
`free_terminfo_cache()`, and calls it from both
`notcurses_stop_minimal()` and `ncdirect_stop()`.
Update all documentation. Closes #1371 and #1367.
3 years ago
nick black 40746e76e6 s/nonehi/hires/g 3 years ago
nick black 036d0a8697 s/NCBLIT_SIXEL/NCBLIT_PIXEL/g #1095 3 years ago
nick black aa4da3f335
nctree: drop bchannels from options 3 years ago