Commit Graph

5637 Commits

Author SHA1 Message Date
nick black
ae948a1068 [ncplane_put] don't scroll on invalid x 2021-12-07 20:42:42 -05:00
nick black
5eb23cefb0 [ncplane_put] subtle cursor verification fix
We were checking for an off-plane cursor destination on
the X axis when it was provided explicitly, but not when
-1 was used to indicate the current position (contradicting
the comment immediately above the test). We also want to do
so when we're using the current position, though in this
case scrolling must be taken into account. Also, we were
placing the cursor on such a validation failure, despite not
intending to write anything.

Not testing for a current x (the -1 case) usually worked
because it was thrown out by ncplane_move_cursor_yx() below.
That fails, however, when we're working with an EGC that's
more than one column.

Delicate!
2021-12-07 20:42:42 -05:00
nick black
b468c3fc83 [ncman] grow paras, handle single-byte lines #2323 2021-12-06 17:28:53 -05:00
nick black
a50cd595c0 [ncman] handle paras and free text #2323 2021-12-06 17:28:53 -05:00
nick black
55f48fb6e9 [ncman] extract / draw subsection headers 2021-12-06 17:28:53 -05:00
nick black
e6d0c07a23 [ncman] recurse for display 2021-12-06 17:28:53 -05:00
nick black
3c4b6f11fc [ncman] diagnostics for inflate, get zlib implementation working 2021-12-06 17:28:53 -05:00
nick black
dc833be329 [ncman] display section headers 2021-12-06 17:28:53 -05:00
nick black
5bf2f57561 [ncman] extract version 2021-12-06 10:42:20 -05:00
nick black
0acb9dfe4d use sysconf(_SC_PAGESIZE) 2021-12-06 10:42:20 -05:00
nick black
eab3ca981e [ncman] extract title/section 2021-12-06 10:42:20 -05:00
nick black
4c426f1fb6 [ncman] share trie across arguments 2021-12-06 10:42:20 -05:00
nick black
d28ddebfcf
hierarchal pagenodes 2021-12-06 06:16:31 -05:00
nick black
56c61d97b2
[ncman] start extracting structure from groff data 2021-12-06 04:26:04 -05:00
nick black
02d95dc5af
[demo] add ctrl+L to menu 2021-12-06 03:40:55 -05:00
nick black
b8a548873e
[ncman] bar at bottom with help 2021-12-06 02:39:06 -05:00
nick black
5860d41da5
[compat] only declare strndup on windows c #2428 2021-12-06 02:07:19 -05:00
nick black
0848edbbe7
[macOS] no MAP_POPULATE 2021-12-06 01:41:36 -05:00
nick black
7ed70a7234 link ncman against zlib 2021-12-06 01:30:25 -05:00
nick black
f8b797f9db [CMake] use zlib if not using libdeflate #2423 2021-12-06 01:30:25 -05:00
nick black
8f38689489 [ncman] zlib implementation, quick and dirty 2021-12-06 01:30:25 -05:00
nick black
21c22616d9 drop some obsolete casts 2021-12-06 01:30:25 -05:00
nick black
ee33dbd03a kill two obsolete FIXMEs 2021-12-06 01:30:25 -05:00
nick black
2ebf1f1942 [ncman] build trie, extract commands 2021-12-06 01:30:25 -05:00
nick black
51a76fe1e5 [ncman] augment troffnode with type 2021-12-06 01:30:25 -05:00
nick black
2c6be5a610 add structure for all troff elements 2021-12-06 01:30:25 -05:00
nick black
723139405f define troff structure 2021-12-06 01:30:25 -05:00
nick black
c32e9b3791 [ncman] lex out comments from troff data 2021-12-06 01:30:25 -05:00
nick black
e9cc8d0b2e [ncman] start lexing troff data 2021-12-06 01:30:25 -05:00
nick black
a2385047cc [ncman] add support for inflation using libdeflate 2021-12-06 01:30:25 -05:00
nick black
7f94e50e69 [ncman] map up argument 2021-12-06 01:30:25 -05:00
nick black
269bf361e7 [ncman] event loop for each argument 2021-12-06 01:30:25 -05:00
nick black
624389877f add ncman's main 2021-12-06 01:30:25 -05:00
nick black
403bf91634
[windows] setup_alt_sig_stack() implementation 2021-12-05 22:26:19 -05:00
nick black
fe7704919f
[ncman] reset alt signal stack after free() 2021-12-05 22:23:47 -05:00
nick black
9190d3bdfa
[signals] use an alternate signal stack #2424 2021-12-05 22:05:03 -05:00
nick black
91111cdb58
[ncchannels_reverse] don't generate illegal alpha+color states #2421 2021-12-04 06:27:38 -05:00
nick black
6c4c16465b
[xray] show only 1% of dropped frames 2021-12-04 03:54:44 -05:00
nick black
1c93a5ff45
[palette] rename unit tests, add some CHECKs 2021-12-04 03:54:30 -05:00
nick black
6f3ba8c3dd
utf8_to_egc: cast wchar_t to unsigned for logging 2021-12-04 02:55:53 -05:00
nick black
6080de837a [ncplane_putc_yx] copy egc to avoid invalidation
ncplane_putc_yx() calls ncplane_put() using an EGC extracted
from its nccell argument. The very act of writing that cell
to the plane, however, can grow the plane's underlying EGCpool,
possibly invalidating this reference. This was showing up as
a unit test failure on macOS, and was hopefully also the cause
of unit test failures on Alpine i686. Do a quick heap copy of
the EGC in ncplane_putc_yx(), and free it after writing to the
plane. Shouldn't cost anything (there was no measurable
impact in my testing). Closes #2420.
2021-12-04 01:03:13 -06:00
nick black
418aad1e45 reenable PlaneAtCursorInsane unit test on apple 2021-12-04 00:22:43 -06:00
nick black
c49d3b1e02 enable RightToLeft test on apple 2021-12-04 00:18:21 -06:00
nick black
4513d36978 enable MultiglyphWidth test on apple 2021-12-04 00:16:24 -06:00
nick black
a7db3b88fe
Use samoa.avi instead of fm6.mov in unit test
On DFSG builds, we don't have fm6.mov available to us,
so use samoa.avi (of my own construction) instead.
2021-12-03 23:27:54 -05:00
nick black
52c40cbca5
[notcurses.3] document all environment variables 2021-12-03 20:04:46 -05:00
nick black
d98eb2a454
grunt #2416 2021-12-02 09:31:58 -05:00
nick black
4a4bec5078
[demo] bring sham jungle definition up to date #2416 2021-12-02 08:21:24 -05:00
nick black
04489e179a
[ncneofetch] properly place palette plane 2021-12-02 08:09:23 -05:00
nick black
b57d6eb8d8 notcurses_data_path: allow overrides 2021-12-02 04:32:47 -05:00
nick black
16c9e9f101
[ncneofetch] fix display when no logo is found 2021-12-02 04:11:30 -05:00
nick black
a4bc4e1897 [windows] fall back to NOTCURSES_SHARE 2021-12-02 03:53:17 -05:00
nick black
46114adb57
oiio_decode_loop: fix sense of seek_subimage() test #2402 2021-12-02 03:31:11 -05:00
nick black
7925df32cc
[ncneofetch] use notcurses_data_path() #2402 2021-12-02 03:08:08 -05:00
nick black
238de45e96 [nctetris] find the background everywhere #2042 2021-12-02 03:06:39 -05:00
nick black
7351b2aff6
[oiio] plug memory leak in oiio_destroy, thanks ASAN! #2402 2021-12-02 02:44:38 -05:00
nick black
e9d299c139
[ncneofetch] clear area to left and right of palettebox 2021-12-02 02:21:21 -05:00
nick black
cf36985c69 block_on_input: pass HANDLE** #2402 2021-12-02 02:02:01 -05:00
nick black
caaeec5094
Place ncneofetch properly (#2415)
* ncplane_polyfill_inner: plug memory leak on error paths
* [progbar_create] memory leak on error path
* ncvisual_polyfill_core: memory leaks on error paths
* notcurses_early_init: memory leak on error path
* [demo] fix summary table for ASCII #2402
* [sliders] make it work in ASCII #2402
* add ncplane_ascii_box() #2402
* [notcurses-info] use capabilities accessors for blitters
2021-12-02 01:45:49 -05:00
nick black
771f2e1fb6 [ncplane_scrollup_child] need move to physical scroll location #2378 2021-12-01 21:11:01 -05:00
nick black
4ef8b53602 [ncneofetch] handle palette size not a multiple of showel 2021-12-01 21:11:01 -05:00
nick black
5cd85ca367 [ncneofetch] when in utf8, use half blocks for palette 2021-12-01 21:11:01 -05:00
nick black
3ffe7ac12c
kittykbdsupport bool distinct from kbdlevel, use in notcurses-info #2412 2021-12-01 15:02:51 -05:00
nick black
69b2b3d274
never send keyboard level changes with DRAININPUT #2412 2021-12-01 14:52:09 -05:00
nick black
dae138c7d0 [ncneofetch] only render once #2378 2021-11-30 12:14:16 -05:00
nick black
2a636e3d9d
windows compile fixup erp 2021-11-30 11:37:42 -05:00
nick black
879a79f001 milt! 2021-11-30 11:28:37 -05:00
nick black
fb33ea39c1 [windows] don't drain the input readiness pipe #2408 2021-11-30 11:14:39 -05:00
joseLuís
b1f636a2d9 [docs] rename plane/visual sections to regions 2021-11-30 15:39:58 +01:00
nick black
a4d7bd5670
[TERMINALS.md] document PuTTY settings #1298 2021-11-30 09:01:16 -05:00
nick black
48b124f82b
legacy_cb_f3 conflicts with cursor location report, dump it 2021-11-30 08:23:16 -05:00
nick black
bce181a0d9 [ncneofetch] handle NULL from notcurses_data_dir() 2021-11-30 06:55:09 -05:00
nick black
538dff91ba
[input] provide utf8 form in ncinput 2021-11-30 04:27:46 -05:00
nick black
62f694dfa3
extract_color_table: get cell-pixel geometry from bargs #2404 2021-11-30 02:56:23 -05:00
nick black
e57720ef51 [Stacking] fix unit test 2021-11-30 02:03:09 -05:00
nick black
6c5bc6b396 [rendercore] on fg elide, persist previous fg rgb 2021-11-30 02:03:09 -05:00
nick black
ffc5993eec [rendercore] drop diagnostic 2021-11-30 02:03:09 -05:00
nick black
1be43cb54a [rendercore] omit fg on rgbequal #1316 2021-11-30 02:03:09 -05:00
nick black
0761994abb mark some string literals as utf8 2021-11-30 02:03:09 -05:00
nick black
dc527439d4 [rendercore] cleanup, drop 'alttext', add 'noforeground' 2021-11-30 02:03:09 -05:00
nick black
7a91a2f905 normalize cell initializer names (prefix with NC) 2021-11-30 02:03:09 -05:00
nick black
b340f01a0a always use space when fgrgb == bgrgb #1316
When both foreground and background are using RGB, and
the two channels are the same RGB value, the glyph will
be invisible; emitting a space with the correct background
can save RGB escapes and glyph bytes. Eliminates several
longstanding FIXMEs in the Stacking unit tests. Add a new
function nccell_rgbequal_p(), and unit testing for it.
Add a new unit test to check that this optimization has
taken place, and that it has only taken place in the
rasterization phase--the original plane must be unchanged.
Closes #1316.
2021-11-30 02:03:09 -05:00
nick black
0b75f06abd add and unit test nccell_rgbequal_p() #1316 2021-11-30 02:03:09 -05:00
nick black
c298563e32 [FgMatchesBg] new unit test for optimized fg==bg #1316 2021-11-30 02:03:09 -05:00
nick black
3139bf019a
[initlang] fix sense of ASCII test 2021-11-30 01:53:01 -05:00
nick black
75bd0dd0bc
use notcurses_data_dir() in tester, fetch 2021-11-29 22:19:45 -05:00
nick black
d85a0b213a [windows] dump diagnostic 2021-11-29 22:02:24 -05:00
nick black
4b3b904040 [windows] use DataDir for registry key, not InstallDir 2021-11-29 22:01:40 -05:00
nick black
abb99d4a67
[notcurses-demo] don't hardcode NOTCURSES_SHARE, use notcurses_data_dir() 2021-11-29 21:34:32 -05:00
nick black
df689d9104
[notcurses_options] unsigned margins 2021-11-29 12:13:16 -05:00
nick black
233d32be04
kill obsolete FIXME in sprixel_rescale 2021-11-28 18:14:21 -05:00
nick black
2d3fb9f12e [xray] hold at 15s (true runtime of source media) 2021-11-28 18:13:48 -05:00
nick black
38daf44fb3 [sprite_rebuild] don't change state on a no-op 2021-11-28 18:13:48 -05:00
nick black
5665adc8cc fbcon_rebuild: use direct cellpx when appropriate 2021-11-28 18:13:48 -05:00
nick black
39310f5797 update_term_dimensions: set cpix for linuxfb 2021-11-28 18:13:48 -05:00
nick black
8645511b63 [sprixel_rescale] rebuild all cells using old TAM 2021-11-28 18:13:48 -05:00
nick black
ae2338c7a5 [render] refresh on resize #1687 2021-11-28 18:13:48 -05:00
nick black
affece853c [sprixel_rescale] hook up to the main paint() path #1687 2021-11-28 18:13:48 -05:00
nick black
47e842d6dc [input] properly identify EINTR 2021-11-28 18:13:48 -05:00
nick black
0d933a180d [splice_rescale] implement, hook up to splice_zaxis_recursive #1687 2021-11-28 18:13:48 -05:00
nick black
6da5392724 [ncplane_reparent] pass cell-pixel geometries into splice_zaxis_recursive() #1687 2021-11-28 18:13:48 -05:00
nick black
135208eafe [input] recognize 0x1b 0x5b 0x45 as begin #2396 2021-11-28 18:13:48 -05:00
nick black
ab233d85ee
[input] enable legacy f2 2021-11-28 11:56:40 -05:00
nick black
db9d15f795 [sprite_load] kill unnecessary check 2021-11-28 10:36:42 -05:00
nick black
0dbb469a27 [sprixels] use cell-pixel geometry from ncpile #1687 2021-11-28 10:36:42 -05:00
nick black
0925da36f7
[xray] brighten drop count 2021-11-28 10:07:39 -05:00
nick black
549fcac603
[ncplane_dup] don't use ncplane_cursor_move_yx(), set cursor directly 2021-11-28 08:14:11 -05:00
nick black
6f90d20543
[xray] make the drop count redder with more drops 2021-11-28 08:13:49 -05:00
nick black
fe20da9492
[input] legacy begin, end, home #2394 2021-11-28 07:03:44 -05:00
nick black
fc8b8813c2
[input] handle legacy disambiguated arrow keys #2394 2021-11-28 06:57:21 -05:00
nick black
230e8713d8
[xray] don't even render drop count/slider when behind 2021-11-28 06:36:22 -05:00
nick black
07bdfd8b0f
[xray] balance out singleton case 2021-11-28 06:28:24 -05:00
nick black
a5d79da1f0 [xray] add drop count with guy getting more and more pissed off 2021-11-28 06:09:10 -05:00
nick black
3a458c98c3 [xray] draw 5% of frames that would be dropped #2385 2021-11-28 06:09:10 -05:00
nick black
3cd09a0099 [xray] eliminate flicker on dropped frame #2385 2021-11-28 06:09:10 -05:00
nick black
efc57333a7 [demo] pass start time to demos for more precise deadlines 2021-11-28 06:09:10 -05:00
nick black
d5464deb9a [demo] use a single start time between HUD and recordkeeping 2021-11-28 06:09:10 -05:00
nick black
04ef46a067 [xray] take time at the beginning of demo 2021-11-28 06:09:10 -05:00
nick black
cee5c267a2 [xray] 20s deadline #2385 2021-11-28 06:09:10 -05:00
nick black
0c89881266 [xray] calculate 20s deadline #2385 2021-11-28 06:09:10 -05:00
nick black
2ac51d2404 [demo] workaround for summary tables =\ #2389 2021-11-28 06:09:10 -05:00
nick black
8f26eeea5c
[textlayout] plug memory leak in unit test 2021-11-28 03:21:28 -05:00
nick black
2fbfdbb19a
[stats] fix up non-linux unix compilation 2021-11-27 21:53:30 -05:00
nick black
5d547d3678
[stats] account for cell/pixel geometry changes #2384 2021-11-27 15:45:22 -05:00
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
80dd726239
[cli PoC] fix compile on windows 2021-11-26 07:50:41 -05:00
nick black
55152a0e0c
[input] always drain event readiness pipe #2216 2021-11-26 07:48:49 -05:00
nick black
2d6428cb15
[cli PoC] add a poll on the eventready fd #2216 2021-11-26 07:34:43 -05:00
nick black
70bfd825d7 [windows] get InstallDir from registry, working 2021-11-26 07:01:48 -05:00
nick black
1e8e942594 [windows] implement tty_check() with _isatty() 2021-11-26 06:19:07 -05:00
nick black
455ec4eb66
combine path_seperator() functions 2021-11-26 05:54:26 -05:00
nick black
53a24e1e35
[oiio] erase plane in stream #2368 2021-11-26 05:54:26 -05:00
nick black
a7d54f90db zalgo: put prompt following output 2021-11-26 06:10:41 -03:00
nick black
c0daadeb9f
[visual] use absolute coordinate in diagnostic 2021-11-26 04:01:27 -05:00
nick black
821b2929b5
[input] only ever need 2 pfds 2021-11-26 02:58:51 -05:00
nick black
049f64ebf2
[input] check ipipe for readiness #2350 2021-11-26 02:58:11 -05:00
nick black
0c6b1b73a6
[ffmpeg] adapt to ncstrwidth() 2021-11-26 02:53:16 -05:00
nick black
0b4232d07d
[ncstrwidth] yield to ncstrwidth_valid 2021-11-26 01:36:52 -05:00
nick black
02f00b01e7
[nctetris] drop background to 3x2 from PIXEL #2380 2021-11-26 01:13:37 -05:00
nick black
46251c1d30
[visual] diagnostics on failures 2021-11-26 00:47:36 -05:00
nick black
4491ce0a94
[shame] 2021-11-25 19:25:35 -05:00
nick black
2fd8f5086f
[windows] add initc capability to windows, stop querying ccc #2377 2021-11-25 19:15:13 -05:00
nick black
ed78203a1f
[nctetris] tighten up notcurses logo 2021-11-25 18:46:37 -05:00
nick black
d5e451939b
[sixel] copy through sixel_maxy_pristine #2379 2021-11-25 18:46:34 -05:00
nick black
9d4b23d56f
[nctetris] add a Notcurses logo 2021-11-25 17:08:28 -05:00
nick black
e8f210135a
[cbreak_mode] don't tolerate error on GetConsoleMode() 2021-11-25 15:31:45 -05:00
nick black
198d3b5f19 windows/freebsd: add logos 2021-11-25 15:18:04 -05:00
nick black
f992a55b2d [paint] stop processing line of plane on linefeed #2196 2021-11-25 15:18:04 -05:00
nick black
88a3d42e8f [paint] stop processing line of plane on linefeed #2196 2021-11-25 15:18:04 -05:00
nick black
0003165180 [term] don't send keyboard upcodes if we're draining input #2374 2021-11-25 15:18:04 -05:00
nick black
9b0f806d04 remove filesystem #include 2021-11-25 15:18:04 -05:00
nick black
717aaf9d5d [cli PoC] set scrolling on stdn #2196 2021-11-25 15:18:04 -05:00
nick black
508e143916 [rendercore] move logendx to 0 on linefeed 2021-11-25 15:18:04 -05:00
nick black
4087d59a05 [ncneofetch] return error on failure to emit newline 2021-11-25 15:18:04 -05:00
nick black
06056f5f9c [rastercore] bump logendy if we saw a linefeed 2021-11-25 15:18:04 -05:00
nick black
253ab19cf3 [ncneofetch] fix up infoplane placement for bottom of screen #2196 2021-11-25 15:18:04 -05:00
nick black
6aeab473e5 [scroll_up] scroll up children only on true scroll 2021-11-25 15:18:04 -05:00
nick black
163637828e [sprite_init] stir timestamp into rand() for initial image id 2021-11-25 15:18:04 -05:00
nick black
f963b31d9d [goto_location] don't update logendy/x here 2021-11-25 15:18:04 -05:00
nick black
83fd6f83c7 [render] place space instead of newline in term_putc() #2196 2021-11-25 15:18:04 -05:00
nick black
f88f1b8697 [pool_blit_direct] pass newlines through #2196 2021-11-25 15:18:04 -05:00
nick black
7e63e33a0b [blitcore] accept newlines, set colcount = 1 #2196 2021-11-25 15:18:04 -05:00
nick black
b70afa8b5d [Media] unit tests: cap frames of video at 100 2021-11-25 15:18:04 -05:00
nick black
83902cf7f4 [xray] always provide sufficient topbanner 2021-11-25 15:18:04 -05:00
nick black
c030b53bb2 kill trailing whitespace 2021-11-25 15:18:04 -05:00
nick black
ea1c10dcfd kill trailing whitespace 2021-11-25 15:18:04 -05:00
nick black
50fbb0a778 [cli2 PoC] strip trailing whitespace 2021-11-25 15:18:04 -05:00
nick black
467b0294f3 [nctetris] kill memory leak of username 2021-11-25 15:18:04 -05:00
nick black
30dedad9df [info] print newline on last line #2196 2021-11-25 15:18:04 -05:00
nick black
8810ec9bb7 [cli PoC] emit a newline following input 2021-11-25 15:18:04 -05:00
nick black
279b3f4cfe [tester] don't require TERM on windows #2363 2021-11-24 11:48:27 -05:00
nick black
87d75fcb95
add TextLayout unit test for scrolling off long lines #1590 2021-11-24 02:22:40 -05:00
nick black
f5c99c0cb4 reader unit test: plug memory leak 2021-11-24 00:07:51 -05:00
nick black
6d0a855967 [tabbed] set widget on the correct plane 2021-11-23 20:43:18 -05:00
nick black
493b68d9eb
[rendercore] kill hardcursorpos, just set x/y=-1 2021-11-23 19:26:12 -05:00
nick black
efa5ca3ec2 cli2 PoC #2196 2021-11-23 19:18:26 -05:00
nick black
0f41620736 [interrogate_terminfo] kill redundant memset() 2021-11-23 19:18:26 -05:00
nick black
4375f421b8 [notcurses_init] factor out notcurses_early_init() 2021-11-23 19:18:26 -05:00
nick black
8bae41bdb2
[xray] now has 862 frames 2021-11-23 16:29:21 -05:00
nick black
22b0934c4f [windows] correct semantics for strndup, fixes [zoo] #2365 2021-11-23 16:28:35 -05:00
nick black
389cfeb72d
[interp] clean up on failure #2369 2021-11-22 11:59:21 -05:00
Nick Black
1f0cbc94ec [oiio] properly check for ffmpeg 2021-11-22 11:46:56 -05:00
nick black
ce66c8a90d
[whiteout] kill unused variable 2021-11-22 10:29:43 -05:00
nick black
6cbe73dd80
kill diagnostic 2021-11-22 09:32:41 -05:00
nick black
f061e1550a uc_is_grapheme_break() ought be evaluated across the EGC #2364 2021-11-22 11:29:39 -03:00
nick black
6f4f0f741a [visual] deconstify visual_implementation 2021-11-22 11:29:39 -03:00
nick black
6a72035184
[whiteout] extract dostring(), cleaning up main a bit #2364 2021-11-22 07:40:33 -05:00
nick black
4d4487d7b4
convert fm6.mkv -> fm6.mov 2021-11-22 07:38:59 -05:00
nick black
7b19c4eb8e
swap in new notcursesIII.mov for notcursesIII.mkv 2021-11-22 06:43:18 -05:00
nick black
367a50a826
[visual_implementation] call through a pointer 2021-11-22 05:05:19 -05:00
nick black
21b84d341a
[tetris] don't double-decode the background #2366 2021-11-22 02:58:17 -05:00
nick black
81475827b0
[highcon] undo unwanted experimental background change 2021-11-21 20:51:23 -05:00
nick black
15e768b4d1
[windows] correct visual area width determination #2105 2021-11-21 19:22:35 -05:00
nick black
0603f18bd6 identify as Windows ConHost, not Windows Terminal 2021-11-21 16:14:05 -05:00
nick black
bab4434cb6
[curssorreq] fix braindamage in accounting 2021-11-21 15:52:54 -05:00
nick black
3c06ca496f
don't fire off cursor location requests unless none are outstanding #2105 2021-11-21 15:30:32 -05:00
nick black
62a863bea8 [oiio] cast out warnings 2021-11-21 00:41:28 -05:00
nick black
27257328ce [media] unsigned for _blit() 2021-11-21 05:38:52 -05:00
nick black
0dfc5facdf
2.4.98 trial balloon 2021-11-21 00:33:46 -05:00
nick black
43de0ae3a5
[oiio] update declaration to match definition/contract 2021-11-21 00:04:40 -05:00
nick black
9989d6732a
[visual_resize] take unsigned rows, cols 2021-11-20 23:55:40 -05:00
nick black
23eaac9ced
[ffmpeg] free up frame buffers when seeding #2355 2021-11-20 23:15:04 -05:00
nick black
d4d96d3bf2 [queries] don't send kitty query on windows #2359 #2245 2021-11-20 20:14:20 -05:00
nick black
b611b35978 [ncneofetch] declare Aqua DM on macOS 2021-11-20 19:02:42 -06:00
nick black
f8ce4873e2 [ffmpeg] tighten up ffmpeg_decode 2021-11-20 18:10:14 -05:00
nick black
cf9e5b8c8e pull curses.h out of internal.h 2021-11-20 16:24:39 -06:00
nick black
10739673b2 [ffmpeg] kill unused AVCodecParameters 2021-11-20 16:52:34 -05:00
nick black
3b950fc208 [ffmpeg] packet_outstanding is just a bool 2021-11-20 16:48:24 -05:00
nick black
8d22a55dec [ffmpeg] memset AVFrame in details_seed() 2021-11-20 16:44:34 -05:00
nick black
68240c3d13 use ncplane_putwc_utf32 for all unicode 13 in notcurses-info #2358 2021-11-19 14:49:09 -05:00
nick black
a248606b77
[notcurses-info] use putwc_utf32 for symbols for legacy computing #2358 2021-11-19 09:42:01 -05:00
nick black
5e55e0c970
introduce ncplane_putwc_utf32(), use it in notcurses-info #2358 2021-11-19 09:34:27 -05:00
nick black
3eb2f5f42d
notcurses-info: replace literal unicode 13 with escapes 2021-11-19 08:10:06 -05:00
nick black
b2ce3f00f8
remove progbar PoC, move it into unit tests 2021-11-19 07:53:43 -05:00
nick black
1a61214a44 [ncneofetch] don't emit newline characters from ncart #2356 2021-11-19 11:48:48 -05:00
nick black
0d94049954
[ncneofetch] fix off-by-one on ncart #2357 2021-11-19 06:31:29 -05:00
nick black
58ca4c5fa3
[init] only warn on failure to preserve cursor 2021-11-19 04:23:09 -05:00
nick black
5e6416eae6
[queries] send DSRCPR as early as possible 2021-11-19 04:18:24 -05:00
nick black
b0aadca7be
[init] block until we have cursor report, in case it arrives late 2021-11-19 04:16:41 -05:00
nick black
04c768f0e5
[input] remove unused termqueries struct 2021-11-19 04:10:14 -05:00
nick black
b91683e14a [print_frame_summary] fix up some inttypes 2021-11-19 01:36:03 -05:00
nick black
0266f496a0
[cursor] i have no idea what this PoC did; nuke it 2021-11-18 23:55:17 -05:00
nick black
b0c75d84d1
[windows] settle on u7 for cursor location reports #2105 2021-11-18 18:13:19 -05:00
nick black
5e8ecebe21
[fbcon_scroll] don't try to memmove 0 bytes 2021-11-18 17:21:23 -05:00
nick black
2155ad32f9
[linux] memset correct area post-scroll 2021-11-18 16:48:09 -05:00
nick black
12ca5bb4fc
[Visual] tighten geometry unit test, always set maxpixely based off sixel_maxy #2351 2021-11-18 15:38:22 -05:00
nick black
caa054cc43 [windows] setlocale(LC_ALL, ".UTF8") #2117 2021-11-17 19:10:48 -05:00
nick black
4d40401344 [utf8_egc_len] use MB_LEN_MAX to eliminate compile-time locale considerations 2021-11-17 18:52:04 -05:00
nick black
a0d37d442f
[ncvisual_simple_streamer] render *after* extracting subtitle 2021-11-17 08:39:10 -05:00
nick black
16325f0446
[input] diagnostics 2021-11-17 07:09:02 -05:00
nick black
42accab195
[input] stop using SIGCONT for readiness notification #2350 2021-11-17 06:18:14 -05:00
nick black
1d316273d2
[notcurses-input] use ncplane_resize_realign for the plot 2021-11-17 05:37:17 -05:00
nick black
952e4eaeb2
add render.h 2021-11-17 04:36:43 -05:00
nick black
0286798b2d
[notcurses-demo] HUD: use ncplane_resize_placewithin #1478 2021-11-17 04:03:14 -05:00
nick black
d1c9dd93cf
[core] add ncplane_resize_placewithin #1478 2021-11-17 04:02:49 -05:00
nick black
b91f150e96
[render] call notcurses_refresh() on sigcont #281 2021-11-17 03:14:34 -05:00
nick black
c707e49bd3
[signals] set up NCKEY_SIGNAL on SIGCONT #281 2021-11-17 03:08:57 -05:00
nick black
da4efcf905
notcurses_input.3: document NCKEY_SIGNAL 2021-11-17 03:07:47 -05:00
nick black
a4fe7abe93
[kittykbd] synthesize SIGSTOP for ctrl-z #2349 2021-11-17 02:34:56 -05:00
nick black
127a3ad888
[ncprogbar_destroy] set_widget(NULL, NULL) #2347 2021-11-17 02:20:56 -05:00
nick black
6fb7aeae9f
[ncreader_destroy_internal] set_widget(NULL, NULL) #2347 2021-11-17 02:20:01 -05:00
nick black
83b3926f92
[intro] drop greatscott() 2021-11-17 02:07:56 -05:00
nick black
0124daf8b7
restore ncselector_destroy API, set widget in ncreader #2347 2021-11-17 02:02:55 -05:00
nick black
c5986ef508
[ncmenu] refuse a bound plane #2347 2021-11-17 01:46:01 -05:00
nick black
13f5499648
[ncplot] refuse bound plane #2347 2021-11-17 01:41:11 -05:00
nick black
143c217332
[nctabbed_create] clean up error paths, refuse bound plane #2347 2021-11-17 01:35:40 -05:00
nick black
3d46681874
[LoadVideoPixelStretchOnePlane] greatly improve unit test 2021-11-17 01:23:42 -05:00
nick black
e03554870e
[initbanner] protect against USE_DEFLATE=off 2021-11-17 01:15:06 -05:00
nick black
3b6e08333f
[LoadVideoPixelStretchDifferentPlanes] greatly improve unit test 2021-11-17 01:07:21 -05:00
nick black
c75ec262c4
[NCFDPlane] kill memory leak when ncfdplane ought be destroyed inline 2021-11-17 00:58:31 -05:00
nick black
e1c08b969d
[tester] one more leak in Stacking tests 2021-11-17 00:42:49 -05:00
nick black
01c6f8ba3d
[tester] kill memory leaks in two unit tests 2021-11-17 00:39:23 -05:00
nick black
ce2a6dc686
[multiselector] refuse a bound plane #2347 2021-11-17 00:35:28 -05:00
nick black
717b4a40c1
[CMake] add USE_DEFLATE option, document it, reenable fedora drone #2348 2021-11-17 00:30:08 -05:00
nick black
50f6cf72b2
[plane] properly initialize options in unit test 2021-11-17 00:06:54 -05:00
nick black
0877973b10
[ncneofetch] tighten up infoplane 2021-11-16 23:32:00 -05:00
nick black
81a31c2a4b
[ncneofetch] remove screen dimensions, provide arch fallback #2341 #2336 2021-11-16 23:29:03 -05:00
nick black
12988bb556
add ImplicitDestroy and RefuseBoundCreatedPlane selector tests #2347 2021-11-16 23:28:09 -05:00
nick black
042c120cd2 add RefuseBoundCreatedPlane test #2347 2021-11-16 22:28:37 -05:00
nick black
656b6385d9 [reels] refuse an already-bound plane #2347 2021-11-16 22:28:37 -05:00
nick black
5beffcc06f nctree: move ncplane_destroy out of nctree_destroy() 2021-11-16 22:28:37 -05:00
nick black
762e54db49 [tabbed] protect destructor under ncplane_set_widget() #2342 2021-11-16 22:28:37 -05:00
nick black
ad8445f6d8 ncreel_del: move nctablet_delete_internal() to end 2021-11-16 22:28:37 -05:00
nick black
cca7d70142 widget destructor for nctablet 2021-11-16 22:28:37 -05:00
nick black
ae73463b91 [plot] work with widget tracking 2021-11-16 22:28:37 -05:00
nick black
f060dde33d [reel poc] call notcurses_stop on error paths 2021-11-16 22:28:37 -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
416f2eb6df [plane] free unit test leaks 2021-11-16 22:28:37 -05:00
nick black
9033f4fd98 [selector] hook up widget tracking #2342 2021-11-16 22:28:37 -05:00
nick black
baae0c3d06 track widgets from planes #2342, hook up ncmenu 2021-11-16 22:28:37 -05:00
nick black
8b303659ad
[fbcon] call kill_fbcopy() from early exit path 2021-11-14 14:15:37 -05:00
nick black
9d5bb84d40
program_block_drawing_chars: correct check for linux_fb_fd #2283 2021-11-14 14:12:44 -05:00
nick black
f16af55632
ncpile_notcurses() 2021-11-14 14:04:12 -05:00
nick black
ef339413b9
[fbcon] only move to INVALIDATED upon scroll, not QUIESCENT #2316 2021-11-14 09:15:24 -05:00
nick black
623d2bf8eb
[ncneofetch] arch moved its logo 2021-11-14 08:48:47 -05:00
nick black
ac9ae26e46
kill obsolete FIXME 2021-11-14 06:21:31 -05:00
nick black
01606de5a7
[xray] kill lplane on each cycle, eliminating draw residue #2318 2021-11-14 05:20:12 -05:00
nick black
491a7f74dc [ncneofetch] ponly want langinfo.h on non-windows 2021-11-14 02:49:16 -05:00
nick black
ef53094e53 [windows] chill out, PRIuPTR for size_t 2021-11-14 02:49:16 -05:00
nick black
ab6740758f [kitty] rewrite compression using libdeflate #2314 2021-11-14 02:49:16 -05:00
nick black
d96cec38ff libdeflate version in init banner 2021-11-14 02:49:16 -05:00
nick black
32960be702 [kitty] spool out into a buffer rather than zctx #2314 2021-11-14 02:49:16 -05:00
nick black
e20c7d1839
[ubuntu] try to get doctest compiling 2021-11-14 02:47:22 -05:00
nick black
8491b6f64b
fetch: include langinfo.h #2344 2021-11-12 10:34:45 -05:00
nick black
423ff7898e [ncneofetch] use nl_langinfo for fallback (windows has no LANG) 2021-11-12 02:28:58 -05:00
nick black
ef2c18810e
[kitty] spool out into a buffer rather than zctx #2314 2021-11-12 01:44:14 -05:00
nick black
7c9e459ff2
[ncneofetch] break down Windows product versions 2021-11-11 23:20:55 -05:00
nick black
0f1768187b
[ncneofetch] break down Windows product versions 2021-11-11 23:11:41 -05:00
nick black
c514d2a01c [windows] get animate demo working 2021-11-11 21:13:17 -05:00
nick black
7f7edcce87 [windows] properly call GetSystemInfo() 2021-11-11 20:37:17 -05:00
nick black
427cbf2a90 [procroller] dump NO_ALTERNATE_SCREEN #2338 2021-11-11 12:15:09 -05:00
nick black
f401f2b4f1
[ncplayer] default to pixel blitting #2340 2021-11-11 11:42:03 -05:00
nick black
224743c22a
[ncneofetch] need strings.h 2021-11-11 10:21:27 -05:00
nick black
afc63dccba
[ncneofetch] get core count on ARM #2336 2021-11-11 10:19:00 -05:00
nick black
d74f0583b8
[selector] free memory leaks in unit tests 2021-11-11 10:12:55 -05:00
nick black
f377e30300
[fdplane] constify args/env, kill unit test memory leaks 2021-11-11 10:08:03 -05:00
nick black
d51318f58c
[ncmenu] kill memory leaks in unit tests 2021-11-11 09:49:25 -05:00
nick black
c87ea7b162
[procroller] preserve cursor #2338 2021-11-11 07:15:34 -05:00
nick black
aae3cda8b3
[mouse] don't send command when mouseproto == 0 #2339 2021-11-11 06:26:30 -05:00
nick black
5ff59ce421
[putstr] take size_t* for sbytes, not int* #2331 2021-11-10 22:43:44 -05:00
nick black
9b4fb10d6a
[windows] use regular u7 for cursor location reports #2284 2021-11-09 18:12:53 -05:00
nick black
c52b240d76
[mice] DECRST the mode we DECSET #2334 2021-11-09 11:44:39 -05:00
nick black
7dd9454fb8
ncvgeom unit tests: another cellpix{yx} implication 2021-11-09 09:14:39 -05:00
nick black
dcede32e5c
[ncvgeom unit tests] expect cellpix{xy} -> cdim{xy} #2332 2021-11-09 09:06:01 -05:00
nick black
60d14ef527
[vizgeom unit tests] cdim{yx} ought always be set #2332 2021-11-09 08:51:15 -05:00
nick black
7cf819a40f
[automaton] fix xtgettcap-based terminal detection 2021-11-09 06:26:33 -05:00
nick black
981a1d06aa
use d=I for kitty SPRIXEL_HIDE to kill cache 2021-11-09 06:13:01 -05:00
nick black
9065975a3c
move synthesized events beyond unicode 2021-11-09 04:16:23 -05:00
nick black
3e201adf38
[debug] fix up format string 2021-11-09 03:41:24 -05:00
nick black
4153e24f8b
[zoo] clean up background 2021-11-09 03:41:10 -05:00
nick black
8dc396c916
[chunli] use centering options 2021-11-09 03:39:00 -05:00
nick black
c775e8b7af
static inline most capability functions 2021-11-09 02:31:51 -05:00
nick black
8a63270c00
notcurses_{top/bottom} become static inlines 2021-11-09 00:59:33 -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
91420af5ce eliminate recursion in ncplane_polyfill_yx #2328 2021-11-08 21:05:15 -05:00
nick black
51e90ca7e9 [hud] use ncmetric for elapsed time 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
332bf71642
excise notcurses_debug() from stacking tests 2021-11-08 18:20:12 -05:00
nick black
204eded6ff correct DECSET/DECRST definitions #2330 2021-11-07 04:05:53 -05:00
nick black
f2a5ae589f
LoadVideoPixelScale -> Stretch 2021-11-07 01:06:26 -04:00
nick black
f4f1d74dd1
[termdesc] use RGB from XTGETTCAP to set capability 2021-11-05 08:48:12 -04: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
3a589e0f26 Cell unit tests: remove obsolete special-casing 2021-11-04 10:08:26 -04:00
nick black
7b48c8b3d3 ncdirect_putstr() is allowed to return 0 2021-11-04 10:08:26 -04:00
nick black
e9470ac4a9 unsigned box and resize 2021-11-04 10:08:26 -04:00
nick black
7123b689ec [direct] more box unit tests 2021-11-04 10:08:26 -04:00
nick black
e44db13837 [direct mode] diagnostics 2021-11-04 10:08:26 -04:00
nick black
ed69204ee4 utf8_egc_len: only augment width once 2021-11-04 10:08:26 -04:00
nick black
435eac59f6 ncdirect: better diagnostics on cursor move errors #1696 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
3bdbf6e2e2 [ncdirect_cursor_yx] simplify thanks to modern input system 2021-11-04 07:15:21 -04:00
nick black
cf8dad7a1c [ncdirect_box] work properly when height==2 2021-11-04 03:32:49 -04:00
nick black
28001d5566
[notcurses_refresh] properly flush clear before completing raster #1948 2021-11-03 23:47:48 -04:00
nick black
a9ed0a1092
[ncplayer] leaks on error paths 2021-11-03 23:22:28 -04:00
nick black
41a657f804
[automaton] prefer XTVERSION over TN from XTGETTCAP 2021-11-03 18:42:10 -04:00
nick black
e14b4d5f7c
Direct unit tests: add note about reversed u6 2021-11-03 18:28:06 -04:00
nick black
13cf662a4f
[linux] tighten up identifiers for console 2021-11-02 21:58:36 -04:00
nick black
daa559c01f
[term] only send XTMODKEYS if we confirm no kitty keyboard support #2317 2021-11-02 21:56:43 -04:00
Nick Black
642a9a2aa4 [grid] same color everywhere 2021-11-02 14:41:46 -04:00
Nick Black
9580679298 [linux] don't try to force framebuffer 2021-11-02 14:01:56 -04:00
nick black
130f1f6adb
[EGCcore] be more aggressive about ZWJs 2021-11-02 13:09:01 -04:00
nick black
8d08e14912 [EGCcore] property variation is 0 columns, as is ZWJ #2315 2021-11-02 10:10:15 -05:00
nick black
8872cf73ab [mojibake] fix up 7.0 emoji 2021-11-02 10:08:02 -05:00
nick black
45afc7fc5d [info] add U+1FB6B and U+1FB69 2021-11-02 09:31:48 -05:00
nick black
dfde3a6875
[trans] do final object (logo) twice as long 2021-11-02 00:44:34 -04:00
nick black
c2391f7b88
[yield] resize prior to polyfilling to eliminate scaling costs 2021-11-02 00:39:22 -04:00
nick black
8f9608eb19 eliminate recursion from polyfill #2300 2021-11-01 22:48:32 -05:00
nick black
2ce3c0ef4e [vizgeom] PRIx64 for uint64_t 2021-11-01 22:28:10 -05:00
nick black
479396c625 [shutdown] send XTMODKEYSUNDO if we don't have a kitty keyboard level 2021-11-01 22:28:10 -05:00
nick black
2be84dd3e8
fix up some memory leaks in unit tests 2021-11-01 22:34:04 -04:00
nick black
68f6c02899
[kitty] q=2 with pixel offsets 2021-11-01 22:20:00 -04:00
nick black
252bfec9c4
[visual unit tests] kill unit test memory leaks 2021-11-01 22:18:05 -04:00
nick black
9101ac9139
[nctree] plug leak of currentpath 2021-11-01 22:00:51 -04:00
nick black
c038b7538e [input] make delaybound_to_deadline() inline 2021-11-01 21:57:05 -04:00
Nick Black
6cc65f0bea unit tests: specify uint32_t for vector types 2021-11-01 21:57:05 -04:00
nick black
103b13caf8 [oiio] move to ncvisual_geom() 2021-11-01 21:57:05 -04:00
nick black
6692bf89d0 [visual] don't clear placey/placex for sprixel plane creation #1684 2021-11-01 21:57:05 -04:00
nick black
f9522959cd [qrencode] use ncvisual_geom 2021-11-01 21:57:05 -04:00
nick black
5fe3a30580 get_tty_fd: only print fd on success 2021-11-01 21:57:05 -04:00
nick black
a9fd1542e4 [geom] properly copy alignments through #1684 2021-11-01 21:57:05 -04:00
nick black
3476087dbf [ncvisual_blit] unify plane creation paths #1684 2021-11-01 21:57:05 -04:00
nick black
b8a3016a66 Visual unit tests: cleanup 2021-11-01 21:57:05 -04:00
nick black
d7d8549830 [cellgeom] set rpixy/rpixx properly in presence of scaling 2021-11-01 21:57:05 -04:00
nick black
05d928003d [yield] remove globals, fixes #2300 on this branch 2021-11-01 21:57:05 -04:00
nick black
28a037b6c0 new unit test VisualCellGeometryStretching 2021-11-01 21:57:05 -04:00
nick black
bd4393ff1e new unit test VisualCellGeometryScaling 2021-11-01 21:57:05 -04:00
nick black
d65dd43670 new VisualCellGeometryNoScaling unit test 2021-11-01 21:57:05 -04:00
nick black
1cc597698a [cblit] x/y mixup in geom calculations 2021-11-01 21:57:05 -04:00
nick black
55eec67a23 pull wayward debug from Bitmaps unit test 2021-11-01 21:57:05 -04:00
nick black
6b7cb9134b cblit diagnostic 2021-11-01 21:57:05 -04:00
nick black
81d78be211 [ncvgeom] move cellblit geom calculations into ncvisual_geom_inner() 2021-11-01 21:57:05 -04:00
nick black
ad12fe947e [ncvgeom] close the ncvgeom loop for pixels, disgustingly 2021-11-01 21:57:05 -04:00
nick black
3297bb329c unite pixel new+used plane geom 2021-11-01 21:57:05 -04:00
nick black
0363139593 [ncvgeom] fix bug in unit test 2021-11-01 21:57:05 -04:00
nick black
aed29467c3 [intro] cap orca at 1/2 height, 1/4 width 2021-11-01 21:57:05 -04:00
nick black
5ae6a2152f [ncvgeom] always set pixy/pixx with non-NULL n 2021-11-01 21:57:05 -04:00
nick black
95f4ea32aa [ncvgeom] perform further checks 2021-11-01 21:57:05 -04:00
nick black
2aabc30148 [ncvgeom] kill off ncvisual_blitset_geom 2021-11-01 21:57:05 -04:00
nick black
17b06b1180 [ncvgeom] add begy/begx and leny/lenx to ncvgeom 2021-11-01 21:57:05 -04:00
nick black
5ce1a11bce [core] undo XTMODKEYS coming out of alternate screen 2021-11-01 21:57:05 -04:00
nick black
7f36bdaba0 [ncvisual_geom] always set up extrinsics 2021-11-01 21:57:05 -04:00
nick black
b19847a06a [visual] extrinsic geometry unit tests 2021-11-01 21:57:05 -04:00
nick black
4028d3f56a ncvisual_geom(NULL, non-NULL) unit test 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
71cd76d5c2 [intro] full exit on failure 2021-10-31 12:34:31 -04:00
nick black
469fde0545
clarify resize diagnostic #1696 2021-10-28 20:24:50 -04:00
nick black
cf4d657ece
[marginalized resizecb] move to the location solved for by margins #1472 2021-10-28 17:41:28 -04:00
nick black
0eda63daa5 [core] enable ghpa only on kitty for now #2199 2021-10-28 06:42:19 -04:00
nick black
8ee8b0081d [raster] no need to position x for scroll event #2199 2021-10-28 06:42:19 -04:00
nick black
8a827224ba PixelRender unit test: stretch to available geometry 2021-10-28 06:42:19 -04:00
nick black
50dfab7b7b SixelsRoundtrip unit test: scale to available geometry #2304 2021-10-28 06:42:19 -04:00
nick black
e92aafd1b4 [sixeltests] use REQUIRE instead of CHECK on blit result #2304 2021-10-28 06:42:19 -04:00
nick black
086d77c320 [core] remove egc_rtl(), which only seems to cause problems #2128 2021-10-28 06:42:19 -04:00
nick black
a85a9097f9 [render] gratuitous hpa only on plane changes #2199 2021-10-28 06:42:19 -04:00
nick black
935e96a3bc [stats] add hpa_gratuitous stat #2199 2021-10-28 06:42:19 -04:00
nick black
b81ab750cc [macos] no pthread_condattr_setclock() #2302 2021-10-27 13:43:10 -04:00
nick black
fec64cfc33 [core] use pthread_condattr_setclock rather than pthread_cond_clockwait() #2302 2021-10-27 13:43:10 -04:00
nick black
26d6c27329
[windows] explicit pthread.h include #2303 2021-10-27 13:31:07 -04:00
nick black
29476a1f46
[plot] use cached color values always 2021-10-26 17:40:15 -04:00
nick black
a61af4f982
[plot] realloc channels on cell-pixel geometry change #2172 2021-10-26 17:10:08 -04:00
nick black
1f041edc40
[plot] kill last VLA #2172 2021-10-26 16:10:26 -04:00
nick black
548b4e2729
[CMake] add -Wvla #2301 2021-10-26 16:04:02 -04:00
nick black
f6443e2152
[plot] MB_CUR_MAX -> MB_LEN_MAX, kill VLA 2021-10-26 15:30:18 -04:00
nick black
45b061ad59
[linuxconjammer] kill VLA #2301 2021-10-26 15:29:01 -04:00
nick black
b5e4b58902
[linux] eliminate VLAs 2021-10-26 15:22:21 -04:00
nick black
80153f804d
[plot] calculate color vector once per lifetime #2172 2021-10-26 15:12:51 -04:00
nick black
cc62e81b0e
[fission] kill off VLA #2301 2021-10-26 15:09:30 -04:00
nick black
07fefa3004
[direct] MB_CUR_MAX -> MB_LEN_MAX, no VLAs #2301 2021-10-26 15:09:16 -04:00
nick black
ee784ece64
[tests] MB_CUR_MAX -> MB_LEN_MAX, no VLA #2301 2021-10-26 15:08:51 -04:00
nick black
5d6334a22d
[plots] calculate colors only once per draw run #2172 2021-10-26 14:43:17 -04:00
nick black
2770ae8a0b
[is_linux_console] reword diagnostic so it doesn't look like a failure 2021-10-26 10:39:01 -04:00
nick black
213fea7abd
don't blow away ret->loglevel 2021-10-26 10:37:29 -04:00
nick black
3c52635642
[env] make NOTCURSES_LOGLEVEL actually work 2021-10-26 10:33:44 -04:00
nick black
2cfe37a36a
tighten up init banner's terminfo version 2021-10-26 09:46:44 -04:00
nick black
bd00e7b507
[fission] fix regression where background was drawn above previous material #2299 2021-10-25 23:34:51 -04:00
nick black
5e3eeba355
[xray] destroy planes on exit 2021-10-23 06:26:05 -04:00
nick black
cf570a3d3f
[fission] kill background plane on exit 2021-10-23 06:17:32 -04:00
nick black
a83ff427e0
[egcpool_dup] deal with empty source (ubsan fix) 2021-10-23 05:59:18 -04:00
nick black
7c365fcfd6
[blitters] unit test blitter->string lookup 2021-10-23 05:45:03 -04:00
nick black
c188382f03
[zoo/outro] name planes 2021-10-23 05:12:13 -04:00
nick black
be92819b09
[render] damage glyphs underneath opaque kitty #2297 #1932 2021-10-23 04:48:31 -04:00
nick black
7c2276cce1
[demo-pulse] don't hang time off the end 2021-10-23 04:06:19 -04:00
nick black
a8b9dd4af7
[ncplane_pulse] replace explicit test with notcurses_canfade() 2021-10-23 04:02:10 -04:00
nick black
67c3f64dc2
[yield] always erase bitmap planes on the standard pile #2298 2021-10-23 00:56:31 -04:00
nick black
2a924812c1 [demo] blue up the FPS plot a little 2021-10-22 22:50:57 -04:00
nick black
e746fff33e [trans] add image at end #2275 2021-10-22 22:50:57 -04:00
nick black
48ee66918a
[signals] include SIGBUS among fatal signals 2021-10-22 22:08:02 -04:00
nick black
cd5c913994 [yield] yank demo_nanosleep #1613 2021-10-22 22:00:41 -04:00
nick black
edc10fc054 [yield] pull demo_nanosleep() #1613 2021-10-22 22:00:41 -04:00
nick black
c2ed7d19fe [yield] two threads #1613 2021-10-22 22:00:41 -04:00
nick black
d3d418bb07 [yield] split main loop out suitable as pthread #1613 2021-10-22 22:00:41 -04:00
nick black
ef2c15abf2
[xray] decode in both threads concurrently, 40% FPS improvement #1613 2021-10-22 00:06:32 -04:00
nick black
1bdeb0d258
[demo] FPS not FPSS (thought i already made this change)? 2021-10-21 21:36:41 -04:00
nick black
85b6d55577
[utils] implement notcurses_osversion #2293 2021-10-21 19:02:09 -04:00
nick black
20fa1db5dd define clockwait save in presence of _USE_GNU #2291 2021-10-21 17:07:57 -04:00
nick black
9b30487e4a [windows] define pthread_cond_clockwait() #2292 2021-10-21 17:07:57 -04:00
nick black
a3575ebfd8 [input] switch to pthread_cond_clockwait() #2291 2021-10-21 17:07:57 -04:00
nick black
864e2710a3 [demo] use pthread_cond_clockwait() with CLOCK_MONOTONIC #2291 2021-10-21 17:07:57 -04:00
nick black
3e0ce64b76 [input] try to use CLOCK_MONOTONIC for condvar
By default, Pthread condition variables use the wretched
CLOCK_REALTIME for pthread_cond_timedwait(). We reaaaaaaly
want it to use CLOCK_MONOTONIC instead. Where supported,
use pthread_condvar_setclock() to initialize the input
condvar with CLOCK_MONOTONIC, since every other operation
we perform is clocked against it. Closes #2291.
2021-10-21 17:07:57 -04:00
nick black
a087960ab7
[notcurses-demo] write input readiness to correct pipe side #2290 2021-10-21 14:02:21 -04:00
nick black
398266d10c
[make_sprixel_plane] properly set outx following scale #2278 2021-10-21 03:54:54 -04:00
nick black
d6e574f131
[input] on construction failure, return NULL initdata #2289 2021-10-21 03:16:53 -04:00
nick black
06de7ac582
[init_banner] no extra space when we don't know a version 2021-10-20 09:53:06 -04:00
nick black
86b81dfbd1 [sixel_refresh] bounds-check when damaging render state #2287 2021-10-20 09:41:24 -04:00
nick black
2b86835faa [ncplane_erase] call destroy_tam() #2286 2021-10-20 09:31:44 -04:00
nick black
7be722edb3
[ncplane_reparent_family] resolve use-after-free on error path #1348 2021-10-20 07:06:51 -04:00
nick black
1e4ce97750
[banner] display OS in init banner 2021-10-20 04:49:08 -04:00
nick black
6411b628a4 [utf8_egc_len] don't disqualify output based off wcwidth() #2285 2021-10-20 03:20:55 -05:00
nick black
9483278ba1
dump sprixel_auxiliary_vector, save 50% of kitty/fbcon auxvec space 2021-10-20 02:09:53 -04:00
nick black
d857fedf16 [tester] use NCLOGLEVEL_INFO for initial setup 2021-10-20 01:29:07 -04:00
nick black
2c89553437
[bitmaps] kill memory leak on resize failure path 2021-10-19 20:23:22 -04:00
nick black
5ce9f57540
[plane_blit_sixel]: call destroy_tam() 2021-10-19 19:54:49 -04:00
nick black
18425cd426
[ncplane_reparent_family] don't use invalid pile reference #1348 2021-10-19 19:41:35 -04:00
nick black
a4896720e7
[keller] if we expect success, but fail, error out #2278 2021-10-19 18:05:46 -04:00
nick black
bfdd2ed347
[linux] %hu -> %u for new ioctl 2021-10-19 14:58:39 -04:00
nick black
61b149b357
[boxdemo PoC] properly recover from error #1348 2021-10-19 13:49:45 -04:00
nick black
a12d7a8d15
[base64_rgba3] make pixel assignments a bit clearer 2021-10-19 13:42:04 -04:00
nick black
fa3c872ae6
[grid PoC] free rgba after loading visual #1348 2021-10-18 19:31:44 -04:00
nick black
51043fc959
[putenv_term] don't dereference NULL when lacking TERM variable #1348 2021-10-18 19:29:31 -04:00
nick black
5010911a08
[tabbed PoC] kill dead stores #1348 2021-10-18 19:28:14 -04:00
nick black
b544364ab4
[sprixel] void* for auxvector 2021-10-18 19:11:51 -04:00
nick black
c2fca2392b
[compare_versions] work on empty version string 2021-10-18 19:11:35 -04:00
nick black
f71a0617f7
[fbcon_rebuild] kill dead store 2021-10-18 14:52:57 -04:00
nick black
6d31d6a89b [automaton] refresh pointers after realloc #2279
Wherever we realloc() the escnode array --
create_esctrie_node() mercifully being the sole
place this goes down -- it invalidates all existing
pointers into the array. Properly rematerialize
invalidated pointers by preserving indices around a
creation call. Closes #2279. Thanks, scan-build!
2021-10-18 14:48:52 -04:00
nick black
f4ca9abc9d
[reel PoC] ignore EvType::Release events 2021-10-17 18:42:12 -04:00
nick black
27917d12ec
add set_loglevel_from_env() #2277 2021-10-17 17:12:52 -04:00
nick black
f2eb6f736a
[outro] don't use NCBLIT_PIXEL yet 2021-10-16 23:43:11 -04:00
nick black
1369a36710
unit tests: accomodate sixel runoff 2021-10-16 23:39:27 -04:00
nick black
53b024ebac
interp PoC: accept any key to exit 2021-10-16 21:09:54 -04:00
nick black
3f3fffb7f2
ncplayer: only advance on space 2021-10-16 07:36:14 -04:00
nick black
9d4eadc64a
[kitty] clean TAM on failure #2268 2021-10-16 05:17:16 -04:00
nick black
9d002feea3 remove last instances of ncvisual_render() #1462 2021-10-16 03:39:25 -04:00
nick black
d5626e64aa xray/grid: ncvisual_blit() #1462 2021-10-16 03:39:25 -04:00
nick black
367c17a7df rotate PoCpp: ncvisual_blit() #1462 2021-10-16 03:39:25 -04:00
nick black
02303ee98e notcurses-info: ncvisual_blit, inline all emoji #1462 2021-10-16 03:39:25 -04:00
nick black
36646f1b9b pixel PoC / ncneofetch -> ncvisual_blit() #1462 2021-10-16 03:39:25 -04:00
nick black
5db0f3457b restore ncvisual_inflate(), for now 2021-10-16 03:39:25 -04:00
nick black
0afd815925 all PoCs: ncvisual_render -> ncvisual_blit #1462 2021-10-16 03:39:25 -04:00
nick black
2c8286c099 stacking tests: ncvisual_render() -> ncvisual_blit() #1462 2021-10-16 03:39:25 -04:00
nick black
f096064648 [keller] fix up for ncvisual_blit() #1462 2021-10-16 03:39:25 -04:00
nick black
e95e2fac66 ncvisual_render -> ncvisual_blit (nctetris) 2021-10-16 03:39:25 -04:00
nick black
be42ff909c ncvisual_render -> ncvisual_blit (core/test) #1462 2021-10-16 03:39:25 -04:00
nick black
eb032cc638 [windows] HANDLE, not PHANDLE 2021-10-16 02:52:37 -04:00
nick black
d26374a312
properly name Windows Terminal 2021-10-16 02:51:41 -04:00
nick black
d6a91fb99f
menu PoC: ignore NCTYPE_RELEASE 2021-10-16 02:43:36 -04:00
nick black
4fc1b4493f
stop pushing termtype to interrogate_terminfo 2021-10-16 02:32:04 -04:00
nick black
ec67847806
[ncplayer] restore pause functionality with NCTYPE_RELEASE 2021-10-16 02:03:01 -04:00
joseLuís
383edaece1 remove poc for issue #2266 2021-10-14 12:38:21 +02:00
nick black
fb2078daa6
drop textplay PoC 2021-10-14 05:12:30 -04:00
nick black
b87d8f15f7
[info] expand some emoji into proper literals 2021-10-14 03:45:05 -04:00
nick black
f05f65dc80
notcurses-demo FPS graph: back to straight seconds 2021-10-14 03:32:20 -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
b0b4c965a5 for now, if it's on windows, it's windows terminal #2248 2021-10-14 00:12:43 -04:00