Commit Graph

2410 Commits

Author SHA1 Message Date
nick black
5512158fc5
postpaint(): no need to replace nul with space #777 2020-07-10 11:15:23 -04:00
nick black
a97297192d
Exceptions unit test: drop bad stops 2020-07-09 21:17:00 -04:00
nick black
5e207f4158
unit test for merging down fills 2020-07-09 21:16:31 -04:00
nick black
460ba7683d
Exceptions: reenable CHECK_THROWS_AS specifier #538 2020-07-09 04:31:59 -04:00
nick black
0ca1716cbd
README: purge alignment div, apache 2.0 badge 2020-07-09 04:16:03 -04:00
Nick Black
6685ff2767
right-align other badges alongside ToC 2020-07-09 04:10:39 -04:00
nick black
573a248da4
add Repology badge 2020-07-09 04:04:10 -04:00
nick black
3457ffb59f
FdsAndSubprocs test: use ncplane_putnstr(s) #778 2020-07-09 03:27:41 -04:00
nick black
ea183c0d66
fdthread: stop being an asshole and NUL terminate the input #778 2020-07-09 03:27:06 -04:00
nick black
3ef1a3a07d
add notcurses_version_components() 2020-07-09 02:17:55 -04:00
Nick Black
162f9910c2
Tons of work on ncreel (#776)
Tons of work on ncreel (#627, #749, #694)
Improve reel demo: get input wired up once more, avoid the FPS demo at bottom, print pointer and line count in each tablet, use new ncreel API. Improve notcurses-ncreel explorer: kill memory leaks (#694), draw tablets better, use new ncreel API. Fix bug in ncreel core where cruft could be left on the screen, via a very gross brute force algorithm. I'll likely come back and make this a bit less ghastly in the future #749. Remove weird one-off input system from ncreel, residue from outcurses. Make some of the normalizing changes speced out in #627

* ncreel: give each tablet an index, and print it #749
* reel: eliminate FIXME + param to insert_tabler() #749
* ncreel: label tablets with their adress to correlate against debugging logs #749
* more terminal environment variable notes
* TERMS.md: add Sakura, st
* ncreel: move legend out of reel proper
* ncreel_options: dump min/max_supported_rows/cols #627
* ncreel: remove weird one-off input layer #627
* ncreel: add ncreel_offer_input()
* reel demo: call demo_getc()
* reel demo: rig up input to demo main
* ncreel: drop ncreel_del_focused(), properly bind tablets
* reel demo: don't free up necessary plane
* ncreel: don't pull absolute locations of tablets
* ncreel: place tablets correctly in boundrel
* reel demo: add back support for left/right
* reel demo: restore thread movement
* ncreel: remove a great deal of complexity
* reel demo: stay out of FPS graph's way
* ncreel: give each tablet an index, and print it #749
* reel: eliminate FIXME + param to insert_tabler() #749
* ncreel: label tablets with their adress to correlate against debugging logs #749
* ncreel: move legend out of reel proper
* ncreel_options: dump min/max_supported_rows/cols #627
* ncreel: remove weird one-off input layer #627
* ncreel: add ncreel_offer_input()
* reel demo: call demo_getc()
* reel demo: rig up input to demo main
* ncreel: drop ncreel_del_focused(), properly bind tablets
* reel demo: don't free up necessary plane
* ncreel: don't pull absolute locations of tablets
* ncreel: place tablets correctly in boundrel
* reel demo: add back support for left/right
* reel demo: restore thread movement
* ncreel: remove a great deal of complexity
* reel demo: stay out of FPS graph's way
* reel: tighten up reel following redraw
* reel: fix upper-left corner of topless perimeter
* ncreel: print linecount, return clipped value
* reel: draw focused tablet relative to reel
* reel: brute force decruftification, how embarrassing #749
2020-07-09 02:02:23 -04:00
nick black
3918ab6999
reproduce some notes regarding terminal emulators 2020-07-08 01:13:58 -04:00
nick black
c809913c22
ncreel: remove {tbrl}off from USAGE, python, docs #627 2020-07-06 16:00:29 -04:00
nick black
479dd00739
ncreel: purge {tblr}off fields; these are ncplane properties #627 2020-07-06 15:59:29 -04:00
nick black
8a9a0c35e0
remove debugging cruft 2020-07-06 01:54:13 -04:00
nick black
da765ebdaa
mojibake: don't stomp right side of boxes 2020-07-05 13:39:48 -04:00
nick black
8afd25fef6
FAQ entry about screen #757 2020-07-05 11:24:44 -04:00
nick black
f2af24648d
mojibake: add all remaining emoji collations #770 2020-07-05 11:01:55 -04:00
nick black
2c37f2c4ba
mojibake: second third of the emoji collations #770 2020-07-05 10:52:51 -04:00
nick black
fd83cc8639
mojibake: add all unicode 13 emoji via CLDR order #770 2020-07-05 10:34:07 -04:00
nick black
b6330d142b
add notcurses_render_file() #491 2020-07-05 07:14:07 -04:00
nick black
8731b1191d
FAQ wording 2020-07-05 02:52:01 -04:00
nick black
b26bd14d11
demo: make HUD text opaque #771 2020-07-05 01:51:12 -04:00
nick black
5a9e0c6f05
rendering: lack of term capability is not error #768
If we don't have setaf/setab, then we're not going to set color.
OK, fine. Don't regard it as an error during
notcurses_rasterization(), just don't emit the escape. This is
necessary to run on terminals like vt100, which in turn is
necessary to run unit tests properly on Redhat's koji.
Also, use notcurses_canfade() to avoid just breaking during
fades in intro and trans demos.
2020-07-05 01:04:44 -04:00
nick black
284dfc4fad
v1.6.0 2020-07-04 22:40:32 -04:00
nick black
2d87aff90e
subprocfd: fix memory leak on error path 2020-07-04 22:39:36 -04:00
nick black
7744c6aae5
highcon: keep text in original position #762 2020-07-04 07:13:08 -04:00
nick black
8f22a0a486
NegativePowersOfTen unit test: fix for ASCII 2020-07-04 05:46:01 -04:00
nick black
efcf0583c9
ncmetric: fix µ for ASCII mode #764 2020-07-04 02:39:29 -04:00
Nick Black
e201c9994d lookup_blitset: properly pass utf8 test #763 2020-07-04 01:23:07 -04:00
Nick Black
c88c51c4d3 cell_load: check for negative cols result, propagate #761 2020-07-04 00:45:41 -04:00
Nick Black
ecc7bb25cc selector: draw indicators in ASCII mode #761 2020-07-04 00:11:34 -04:00
nick black
853f286e70
tester: don't pass NCOPTION_NO_QUIT_SIGHANDLERS 2020-07-03 23:54:16 -04:00
nick black
3ebb5b0e4c
add 1.6.0 / Alpine to HISTORY 2020-07-03 23:41:26 -04:00
nick black
6b1b8d1695 ncplane_puttext: unit tests for scrolling #719 2020-07-03 22:50:34 -04:00
nick black
84746f1f31
OTHERS: add termbox, termion, pancurses 2020-07-03 22:42:34 -04:00
nick black
718abd648a ncdirect_render_image: add alignment #759 2020-07-03 21:24:00 -04:00
nick black
2fa8de9813 ncdirect: silence ffmpeg #759 2020-07-03 21:24:00 -04:00
nick black
46b8c8c913 ncdirect_render_image(): get it working for all geometries #759 2020-07-03 21:24:00 -04:00
nick black
eba7106067 ncdirect_clear: use ->clearscr, kill off bogon ->clear #759 2020-07-03 21:24:00 -04:00
nick black
4c3cb44100 ncdirect_render_image: fix NCSCALE_NONE #759 2020-07-03 21:24:00 -04:00
nick black
b829398538 ncdirect_render_image: accept ncalign_e parameter #759 2020-07-03 21:24:00 -04:00
nick black
46d75c072a ncdirect_render_image(): don't take current x into account #759 2020-07-03 21:24:00 -04:00
nick black
74b44506b6 vizdirect: use all three scaling types #759 2020-07-03 21:24:00 -04:00
nick black
b698efb953
ncdirect: prefer provided fp, iff it's a tty #752 2020-07-03 16:41:10 -04:00
nick black
e5c9168523
notcurses_init(): dup() ttyfd so we can always close() it 2020-07-03 16:40:53 -04:00
nick black
b4490dfc97
1.5.4->1.6.0. describe new TTY interactions 2020-07-03 16:09:54 -04:00
nick black
f7fc665c13
Acquire and use ttyfd properly in ncdirect #752
When we don't have an actual terminal in ncdirect, return
placeholder 80x24 for ncdirect_dim_y()/ncdirect_dim_x(), but
don't go querying e.g. a redirected file for its dimensions.
Similarly, only request info about cursor position from a true
TTY (we're otherwise likely to hang, or at best get meaningless
data). Rewrite 'direct' PoC to use ncdirect_dim_*().
Add tty_emit(). Closes #752.
2020-07-03 15:28:28 -04:00
Nick Black
415d4b813f
Tight work on unit testing, controlling tty vs output fd (#758)
* Some things go to the FILE* we're provided. Some can only go to a controlling terminal. Check to see if the FILE we're given is a TTY. If not, open up /dev/tty #752.
* term_emit(): fflush() can return EAGAIN. Loop on it to eliminate a rare error on shutdown that particularly affected unit tests (where we start and shut down Notcurses many times in a row).
* sgr poc: check return value of setlocale()
* drone: run all unit tests
* CMake: add some tests using PoCs
* ncneofetch: print even small palettes
2020-07-02 18:03:52 -04:00
nick black
2370329077
loop on fflush()->EAGAIN
sometimes when we call fflush(ttyfp), we get EAGAIN. we can
loop on this and force the flush. without it, we (fairly rarely)
get errors on shutdown, sometimes manifesting as unit test
failures (especially in the rust wrappers). #742
2020-07-02 17:34:30 -04:00