Commit Graph

2280 Commits

Author SHA1 Message Date
nick black
e6a45d5422
wcwidth: print running measure 2020-12-23 01:27:45 -05:00
nick black
6ca8949845 add kittyzapper PoC #1117 2020-12-21 23:01:56 -05:00
nick black
0578e86e02 introduce terminal-specific heuristics
Kitty conflates an RGB background specification that aligns
with the default background color with that actual background
color. This can result in translucent background when we're
expecting opaque ones. Detect kitty (strstr check of terminal
name for "kitty"), and if it's active, mark `bg_collides_default`
with the rgb of the default background color. For now, we assume
this to be (0,0,0), but we ought improve it by determining (or
setting, if that's impossible) the precise default bg color.
Closes #1117.
2020-12-21 23:01:56 -05:00
nick black
7df2c7cd04
ncdirect: use sgr0, properly align images 2020-12-21 20:09:41 -05:00
nick black
1fb4a66853
raster: fine-grained emits of op for default #1240 2020-12-21 08:11:44 -05:00
nick black
408004ee66
define fgop/bgop for fine-grained default color #1240 2020-12-21 07:21:33 -05:00
nick black
248dd1fff2
add dynamic linesig control #1228 2020-12-20 20:16:08 -05:00
nick black
99abcb5f07
cbreak_mode: move to input.c 2020-12-20 19:59:08 -05:00
nick black
d1fdaf7614 view: add -t option for timeouts
When the -t switch is provided to notcurses-view, its
floating-point argument is the number of seconds for
which we delay after showing an image. When this is used,
the standard "press any key to continue" prompt is not
displayed, and indeed keybindings are not honored. This
can be used for a slideshow, or just for fullscreen display
involving no user interaction. It does not apply in the
case of -L for looping. Closes #1229.
2020-12-20 18:34:15 -05:00
nick black
c0316ee96c view: document and parse -t time argument #1229 2020-12-20 18:34:15 -05:00
nick black
0b633fbdad
ncplane_at_yx_cell/at_cursor_cell: return bytes of egc 2020-12-18 19:11:05 -05:00
nick black
fd146db050
demo: reject extra command line arguments 2020-12-18 18:52:11 -05:00
Nick Black
730e9f69ec
Multithreaded ncls (#1232)
Thread out ncls to perform the media decode in different threads, in parallel. Only the display needs be locked. On a directory of 200 files on my 39070X, this speeds ncls from ~5s to ~1s. On 75 files, we go from ~.5s to ~.2s. On a single file, we lose about 5%. To facilitate this, ncdirect_render_image() has been split into two helpers, ncdirect_render_frame() and ncdirect_raster_frame().
2020-12-18 15:28:24 -05:00
nick black
d7fd7fa39e
ncdirect_render_image: save/restore colors #1230 2020-12-18 01:51:21 -05:00
nick black
bf3e3eb0b5
ncplane_at_cursor_cell: rewrite with ncplane_at_yx_cell() 2020-12-18 01:39:44 -05:00
nick black
1798e061e1
fallin': drop unused nccell c #1231 2020-12-18 01:31:58 -05:00
nick black
28b1a80433
ncplane_at_yx_cell: work directly with cell_duplicate() #1231 2020-12-18 01:19:28 -05:00
nick black
1b613591fe
ncmenu_create: missing newline on diagnostic 2020-12-18 00:51:42 -05:00
nick black
e43d127b42
ncdirect_render_image: reset colors after each line #1222 2020-12-17 18:25:50 -05:00
nick black
14778e4b71
ncdirect_dump_plane: always emit newline #1222 2020-12-17 18:15:51 -05:00
nick black
85b0a37154
ncdirect: retry fflush() on EAGAIN on all paths 2020-12-17 18:11:45 -05:00
nick black
0fb455f0ee
ncls: don't flush output after each line 2020-12-17 17:28:05 -05:00
nick black
9b0f88f024
ncpile_drop(): reset stdplane's blist #1226 2020-12-17 15:02:49 -05:00
nick black
3226652936
reel demo: kill tablets on demo_render() exit #1225 2020-12-17 13:47:02 -05:00
nick black
4fabba6789
s/reception/receipt/ 2020-12-16 18:22:12 -05:00
Nick Black
1bdd2d0555
Progress bar polishing (#1219)
Progress bars now support four 32-bit channels in ncprogbar_options, and uses them to color a gradient. The redraw procedure has been changed from O(n) to O(1). ASCII progress bars have been repaired. Closes #1213.
2020-12-16 16:48:10 -05:00
nick black
243b8bd4d4
uniblock: scrub all legend residue 2020-12-16 07:23:48 -05:00
nick black
7b4f978256
ncplane_resize_internal: disallow bad keepy/keepx #1215 2020-12-16 06:40:25 -05:00
nick black
66150c1f42
ncplane_resize_internal: reject keep > len #1215 2020-12-16 06:04:28 -05:00
nick black
a0c722ff0d
notcurses_nccell.3 -> notcurses_cell.3 2020-12-16 05:40:14 -05:00
nick black
913373c27e
ncplane_reparent: update boundto in non-root case #1214 2020-12-16 03:22:13 -05:00
nick black
f83bdab99c
progress bars: full resolution for retrograde #1210 2020-12-16 02:53:24 -05:00
nick black
a598c706db
Correctly splice children of reparented root plane
Tremendous thanks to @kaniini, @Ikke and everyone else over
at Alpine Linux for helping to chase this down. I blundered
in ncplane_reparent() when reparenting a root plane with
children (the children need to come into the root plane
list). This will hopefully fix our amd64 failures on Alpine
since late 2.0.x. Closes #1197.
2020-12-16 02:17:28 -05:00
Ariadne Conill
b49ac58d3e cope with situations where /dev/tty is not actually a TTY
this can happen in situations where a child process is not running in a
session group associated with a TTY, such as on a build server.
2020-12-15 22:07:27 -05:00
nick black
f2cbfff8d9
demo: remove meaningless average r%/w% 2020-12-15 05:11:50 -05:00
nick black
8ec6d2e6fc
progbars: full resolution, fix vert inversion #1210 2020-12-15 04:23:37 -05:00
nick black
2ff20108c8
force LTR override on UC_BIDI_AL #1204 2020-12-15 03:26:14 -05:00
nick black
1bbbdd9dc0
annotate many functions with ((nonnull)) 2020-12-14 22:24:37 -05:00
nick black
f7d55e8fa8
allglyph demo: add two fat vertical progress bars 2020-12-14 15:39:57 -05:00
nick black
6b859b6a32
ncls: add --align argument #1195 2020-12-14 13:58:15 -05:00
nick black
ee9ed23e04
uniblock: fixed-width progress bar to better show off smooth fill #1209 2020-12-14 13:43:57 -05:00
nick black
5036e655cb
ASCII fallback for progress bar #1209 2020-12-14 13:41:55 -05:00
nick black
fb38818667
progbar: cover all dependent regions #1209 2020-12-13 12:27:15 -05:00
nick black
91431f84d9
progress bars: 8x resolution #1209 2020-12-13 12:07:12 -05:00
nick black
d5574cab9a
restructure progbar logic to prep for highres #1209 2020-12-13 11:34:19 -05:00
nick black
4984903d61
intro: better use of flipmode bar 2020-12-13 11:00:56 -05:00
nick black
ca547bc521
progbar: get vertical progbars working #1209 2020-12-13 10:56:34 -05:00
nick black
cd3fd17174
uniblock demo: add a progress bar #1151 2020-12-13 10:26:51 -05:00
nick black
827d758c19 properly color progbar #1202 2020-12-13 09:12:08 -05:00
nick black
d56ea8b5e7 progbar: remove egcs options 2020-12-13 09:12:08 -05:00