Commit Graph

4043 Commits

Author SHA1 Message Date
nick black
ab69a1d6d0 animate: truncate unicode 13 for apple #195 2021-07-12 21:27:02 -04:00
nick black
a8baa6cb9a poll: handle NULL as -1 on apple #195 2021-07-12 21:27:02 -04:00
nick black
622ae010da fix format specifiers in demo.c #195 2021-07-12 21:27:02 -04:00
nick black
baf218fdd4 egcpool, plane: fix unit tests for OS X #1924 2021-07-12 21:27:02 -04:00
nick black
86aa60d55b cell.cpp: fix up tests for OS X #1924 2021-07-12 21:27:02 -04:00
nick black
fef33ad2aa wide.cpp: patch up tests for OS X 11.4 2021-07-12 21:27:02 -04:00
nick black
931fa8eb13 get everything building on OSX #195 2021-07-12 21:27:02 -04:00
nick black
5015e39f16 only need TIMER_ABSTIME on apple 2021-07-12 21:27:02 -04:00
nick black
8f41bfd757 inttypes PRIu64 throughout stats.c 2021-07-12 21:27:02 -04:00
nick black
f3886df67c osx: ppoll, execvpe, pipe2 workarounds 2021-07-12 21:27:02 -04:00
nick black
33752742d1 byteswap on OS X #195 2021-07-12 21:27:02 -04:00
nick black
15b9b64cad
char32_t is C++, not C -- move to uint32_t 2021-07-12 18:01:41 -04:00
nick black
0d68b62bee
enqueue_cursor_report: set clr->next to NULL 2021-07-12 13:58:57 -04:00
nick black
bd002f154f garbage first run at integrated cursor location report #1692 2021-07-11 17:27:04 -04:00
nick black
fb75a11a75 render: need scrolls before sprixels 2021-07-11 17:27:04 -04:00
nick black
c2763fb6c7 summarize_stats: one newline to stdout, not stderr 2021-07-11 17:27:04 -04:00
nick black
fb8b453d61 get look_for_clrs() down on paper #1692 2021-07-11 17:27:04 -04:00
nick black
d6ef7ccacd add link to 'Text Rendering Hates You' 2021-07-11 17:27:04 -04:00
nick black
6708780e60 fix up XTSHIFTESCAPE #1061 2021-07-11 17:27:04 -04:00
nick black
2240880718 extract fill_buffer #1692 2021-07-11 17:27:04 -04:00
nick black
73324ce2a4 yank locate_cursor_early() #1692 2021-07-11 17:27:04 -04:00
nick black
85e55de569 recognize Tc unofficial terminfo capability as synonym for RGB 2021-07-11 17:27:04 -04:00
nick black
bd451aa087 implement locate_cursor() #1692 2021-07-11 17:27:04 -04:00
nick black
e133225092 implement enqueue_cursor_report #1692 2021-07-11 17:27:04 -04:00
nick black
9746a06bde prepare a cursor report queue #1692 2021-07-11 17:27:04 -04:00
nick black
3df88384cd set XTSHIFTESCAPE when enabling mouse #1061 2021-07-11 17:27:04 -04:00
nick black
d81164a348 handle_csi: differentiate between csis #1692 2021-07-11 17:27:04 -04:00
nick black
dcc58ef713 input: process CSI for cursor report #1692 2021-07-11 17:27:04 -04:00
nick black
75b84329da comment up handle_getc() regarding controls #1692 2021-07-11 17:27:04 -04:00
nick black
7ee9ef397a add logpanic/logfatal, convert some printf()s 2021-07-11 17:27:04 -04:00
nick black
8a3579581a [input] read large chunks at once #1903 2021-07-11 17:27:04 -04:00
nick black
cf8b640064 The Gang Genocides Genocide s/_genocide/_destroy_family/g #1907 2021-07-11 17:27:04 -04:00
nick black
cea2206ec7
remove two meaningless uses of inline from notcurses.c 2021-07-11 10:01:24 -04:00
Tomek Szczęsny
0baf4ea1b5
Relative cursor move (#1885)
Relative cursor move by @tomek-szczesny
2021-07-11 09:53:56 -04:00
nick black
531f62a5ae
notcurses-demo: remove stray notcurses_refresh() calls 2021-07-11 00:21:54 -04:00
nick black
5a081a014d
kitty: remove horrible a=t positioning hack #1918 #1910 2021-07-10 23:57:06 -04:00
nick black
c2d6edc109
notcurses_refresh: always clear screen #1915 2021-07-10 19:47:52 -04:00
nick black
7bdad5237f
get clrscr immediately before refresh #1915 2021-07-10 19:13:28 -04:00
nick black
bc4f2a3626
CHANNELS_RGB_ -> NCCHANNELS_ 2021-07-10 17:54:06 -04:00
nick black
bfca06264a
fix up indexing for NCBLIT_8x1 plotter #1912 2021-07-09 10:30:33 -04:00
nick black
2441a31766
kill unused variable warnings 2021-07-09 09:34:08 -04:00
nick black
37286aa707 work around strange kitty issue for now #1910 2021-07-09 09:30:08 -04:00
nick black
714b288c8d [kitty] no longer need to update under opaque, huzzah 2021-07-09 09:30:08 -04:00
nick black
aada04ba47 flush following goto_location for logend #1906 2021-07-09 09:30:08 -04:00
nick black
8b33353105 [kitty] q=2 can come on earlier chunks 2021-07-09 09:30:08 -04:00
nick black
0c484e4e02 run the logend{yx} state machine in raster #1906 2021-07-09 09:30:08 -04:00
nick black
f9c8102e37 notcurses-info: use NCOPTION_NO_CLEAR_BITMAPS 2021-07-09 09:30:08 -04:00
nick black
5725605167 move cursor to logend{yx} post rasterization #1906 2021-07-09 09:30:08 -04:00
nick black
af418a221f with PRESERVE_CURSOR, track logical end of output #1906 2021-07-09 09:30:08 -04:00
nick black
e767fd0b5f
notcurses-demo: turn mouse support back on 2021-07-09 08:18:13 -04:00
nick black
087fd083af
[brownbag] actually call mouse_{dis/en}able() 2021-07-09 08:16:06 -04:00
nick black
840ed1a3d8
remove all uses of NCSTYLE_STANDOUT 2021-07-09 01:14:20 -04:00
nick black
55f8614391
improve 256-color grey quantization 2021-07-09 00:46:48 -04:00
nick black
b96dc6d1bc
recognize greys in 8-color quantization 2021-07-08 23:37:07 -04:00
nick black
a7779c5024
cursor_yx_get: loop on 0 input for GNU screen #1902 2021-07-08 18:29:03 -04:00
nick black
e2a3af49b5
cursor_yx_get: fprintf -> logerror 2021-07-08 18:19:05 -04:00
nick black
405a1f2808
recognize tmux in XTVERSION #1901 2021-07-08 15:52:25 -04:00
nick black
f3504b3bfe
DA2: don't force version interpretation #1901 2021-07-08 15:44:43 -04:00
nick black
cefc98f55b
reset errno prior to reading control input #1901 2021-07-08 15:27:11 -04:00
nick black
672a761080
mmap() the linux framebuffer 2021-07-07 17:09:30 -04:00
nick black
afad46b006
notcurses-info: admit -v for NCLOGLEVEL_TRACE 2021-07-07 16:44:02 -04:00
nick black
14a50cfa3f
add ncchannels_reverse, use it in ncmenu, add unit test #1878 2021-07-07 09:36:31 -04:00
nick black
f0aec109b7
support menus on any plane #1645 2021-07-07 08:33:36 -04:00
nick black
e631cac954
s/SPRIXCEL_/SPRIXCELL_/g 2021-07-07 08:24:02 -04:00
nick black
b2dd44e06c
[kitty] convert fixed fprintfs to ncfputs 2021-07-07 08:21:27 -04:00
nick black
8b1c324353
[kitty] update summary comment 2021-07-07 06:59:55 -04:00
nick black
8846e3cee2
ncdirect_putegc(), get true width in ncwidth #1899 2021-07-07 05:54:47 -04:00
nick black
4a23acab2d
fission demo: go both up and down #1896 2021-07-07 04:29:36 -04:00
nick black
20603e5012
direct mode: fix for animation kitty 2021-07-07 03:45:53 -04:00
nick black
4d2a896cdd notcurses-info: distinguish animation from regular kitty #1895 2021-07-07 03:01:44 -04:00
nick black
66b8c7f004 [kitty] properly copy source for rebuild #1895 2021-07-07 03:01:44 -04:00
nick black
0aa8b5267c [kitty] fixup non-animated case 2021-07-07 03:01:44 -04:00
nick black
6d6f69a02b rebuild: only free auxvec for non-animation #1895 2021-07-07 03:01:44 -04:00
nick black
811bc9eb65 animated kitty rebuild #1895 2021-07-07 03:01:44 -04:00
nick black
22443d4b3a [kitty] fixups for non-animated case #1895 2021-07-07 03:01:44 -04:00
nick black
a0b5a85e25 kitty: animated rebuild no longer crashes 2021-07-07 03:01:44 -04:00
nick black
b9b26603ad kitty animation: everything up through rebuild works #1895 2021-07-07 03:01:44 -04:00
nick black
af305f56c4 [kitty] clean up auxvecs on error #1895 2021-07-07 03:01:44 -04:00
nick black
ebc405b165 [kitty] get most of animation working #1895 2021-07-07 03:01:44 -04:00
nick black
d2e0c64a7c add kitty_transanim_auxvec() and kitty_wipe_animation() #1895 2021-07-07 03:01:44 -04:00
nick black
948553a980 extract sprite.h 2021-07-07 03:01:44 -04:00
nick black
4bb85d28c8
use non-interpolative scaling with eagle/luigi 2021-07-07 02:00:13 -04:00
nick black
f339855c39
nccell_width: minimum width is 1 #1894 2021-07-06 21:06:15 -04:00
nick black
b170ee98e1
you do not get to win https://www.youtube.com/watch?v=ASacQYJWOPI 2021-07-06 20:30:16 -04:00
nick black
6e19e0536e
demo: remove obsolete postinit_checks() 2021-07-06 16:17:09 -04:00
nick black
3c2fe36fc9
[kitty] pass C=1 for move command 2021-07-06 15:55:48 -04:00
nick black
1493045490
notcurses-info: hold off on displaying logo 2021-07-06 12:59:01 -04:00
nick black
5009a25721
stop warning on truecolor but no ccc 2021-07-06 04:29:25 -04:00
nick black
d38c15302a
notcurses-info: add sub+superscripts 2021-07-06 02:01:38 -04:00
nick black
b41928833f
replace fprintf with ncfputc 2021-07-06 01:39:22 -04:00
nick black
e7ac7ab14b [kitty] C=1 needs be emitted with the presentation, not load #1865 2021-07-06 01:35:07 -04:00
nick black
afd738a977 direct: write sprixels with posix i/o to work around blocking 2021-07-06 01:35:07 -04:00
nick black
0b794bba64 direct mode: work with separate load+display kitty #1865 2021-07-06 01:35:07 -04:00
nick black
56433a1a7f [kitty] free and release sprixel on commit to destroy #1890 2021-07-06 01:35:07 -04:00
nick black
2e7079a69e [kitty] silence present command #1865 2021-07-06 01:35:07 -04:00
nick black
9a53379d36 [kitty] keep display distinct from draw #1865 2021-07-06 01:35:07 -04:00
nick black
3f8dcfa357 kitty: separate out commit from draw #1865 2021-07-06 01:35:07 -04:00
nick black
3608d6a2d6 [kitty] pull remove out of destroy, rename destroy scrub #1865 2021-07-06 01:35:07 -04:00
nick black
3763739b9f
direct mode: write sprixel with posix i/o for strength 2021-07-05 23:56:49 -04:00
nick black
212da290ae Create mstreamfp before registering signal handlers
We use mstreamfp in notcurses_stop_minimal(), so we can't
register that function as a fatal signal handler until
we've opened mstreamfp. Move it before the registration.
Eliminates a coredump when we ctrl+c during init.
2021-07-05 21:25:12 -04:00
nick black
4a3e536c66
notcurses-info: completely shade lower right 2021-07-05 12:39:48 -04:00
nick black
32ade77dd5
more sequences, more notcures-info 2021-07-05 12:01:22 -04:00
nick black
88cccb4d2a
notcurses-info: colorize box block 2021-07-05 10:57:35 -04:00
nick black
e915724b9f
utf8_codepoint_length: implement Corrigendum#1
Dmitry Sapozhnikov pointed out that I was admitting
illegal first bytes; I was also just plain wrong.
Bring this up to sync with Corrigendum #1.
2021-07-04 15:54:17 -04:00
nick black
29f1acc479
bulk up scrolling unit test #1649 2021-07-04 14:02:45 -04:00
nick black
8df91e35a9
unit test for virtual cursor on scrolling plane #1649 2021-07-04 13:55:30 -04:00
nick black
0941efbea5
unit tests for ncplane_moverel() 2021-07-04 13:50:19 -04:00
nick black
da3f485ace
notcurses-info: add many triangles 2021-07-04 10:51:16 -04:00
nick black
8dc65b6db1 notcurses-info: always emit newline #1837 2021-07-04 11:25:20 -03:00
nick black
669cf758df
locate_cursor_early: fix compilation 2021-07-04 09:25:24 -04:00
nick black
e870e12285
locate_cursor_early: require ttyfd #1880 2021-07-04 09:24:13 -04:00
nick black
acc66372b5
add utf8_codepoint_length() #1871 2021-07-04 09:11:25 -04:00
nick black
70b8bba715
Merge branch 'master' of github.com:dankamongmen/notcurses 2021-07-04 08:49:32 -04:00
nick black
d7aac5461a reacquire cursor following init banner
when using NCOPTION_PRESERVE_CURSOR, we want to reacquire
the true cursor position after printing the init banner,
rather than trying to figure out how many lines it made
us scroll, and keeping that up to date. this improves the
notcurses-info output on freebsd, where the compiler line
was occupying more than one row. closes #1880.
2021-07-04 09:48:00 -03:00
nick black
50a7996b4f
notcurses_detected_terminal: use termdesc_longterm() 2021-07-04 07:01:50 -04:00
nick black
5451ecd890
return version in ncdirect_detected_terminal() 2021-07-04 06:37:34 -04:00
nick black
bc213921be
interrogate_terminfo: placeholders for cursor
always get the cursor location from query responses,
so that we load u7 into the escape table even though
it wasn't found in terminfo. this is needed on freebsd,
where termcap doesn't seem to have u7 in it.
2021-07-04 06:23:47 -04:00
nick black
4ed41259c9
don't emit smkx twice, flatten all initial writes 2021-07-04 05:30:06 -04:00
nick black
488a36eaf5
ncplayer: remove meaningless notcurses_check_pixel_support() call 2021-07-04 05:14:50 -04:00
nick black
dc02a8f04b
notcurses_stop_minimal: use reliable I/O
fflush(), so far as i can tell, cannot be reliably used
in glibc. after it fails once, subsequent calls return 0
and do not set errno -- only the persistent ferror() serves
to indicate that flushing is not going on. instead, write
into the render state's memstream, and then use reliable
blocking_write() to dump it to stdout. closes #1872.
2021-07-04 05:09:17 -04:00
nick black
ed8c369d4e on pile change, clear old sprixels #1875 2021-07-04 03:32:20 -04:00
nick black
9d27bf1869
remove meaningless notcurses_check_pixel_supprot() from ncplayer 2021-07-04 01:30:44 -04:00
nick black
588f8d3789
drop signals at the end of reset_term_attributes() #1872 2021-07-04 00:05:51 -04:00
nick black
205a8bd764
faster nccell_width()
nccell_width() ought simply consult the nccell's width
field to get a column count (it was written before the
rearrangement of nccell). do so. fix up the macros
CELL_CHAR_INITIALIZER and CELL_INITIALIZER to assign a
width of 1 for non-printing characters, matching the
behavior of utf8_egc_len() on whitespace. instead of
hard-coding the logic in ncplane_put() for multicolumn
glyphs, call nccell_wide_right_p() and wide_left_p().
use nccell_width() in ncplane_putc_yx(), fixing it for
glyphs of more than 2 columns.
2021-07-03 22:38:48 -04:00
nick black
505f38956d
Fade unit test: use CELL_CHAR_INITIALIZER 2021-07-03 21:52:32 -04:00
nick black
0e341fa3de
notcurses-info.1: describe output 2021-07-03 19:25:42 -04:00
nick black
1287d8bd03
combine some writes 2021-07-03 05:00:26 -04:00
nick black
d558c8d6e1
require set_pixel_blitter() for sixel_blit 2021-07-03 00:26:24 -04:00
nick black
5af6f58e07
Visual: render 1x1->fullscreen #1675 2021-07-02 23:26:56 -04:00
nick black
feccb7dab8
purge wayward notcurses_debug() calls in pile unit tests 2021-07-02 23:10:09 -04:00
nick black
f219a21732
ResizeThenRotateFromMemory is garbage =[ 2021-07-02 23:05:13 -04:00
nick black
4d1681bf11
fix dumb error in ResizeThenRotateFromMemory #1722 2021-07-02 22:35:58 -04:00
nick black
d8c37337d9
allow different backends to specify their own padding requirements #1722 2021-07-02 22:09:58 -04:00
nick black
a10959345a
null media implementation: don't colorize warning 2021-07-02 21:10:15 -04:00
nick black
cb6ffee3a7
OpenImageIO: simplify TypeDesc declarations #1722 2021-07-02 20:26:09 -04:00
nick black
d70aed8939
tighten up banner warnings 2021-07-02 19:13:31 -04:00
nick black
c2a076a6b3
banners: properly account lines 2021-07-02 19:07:06 -04:00
nick black
4f8a8597a1
fold a few escape emissions down into single flushes 2021-07-02 18:57:27 -04:00
nick black
4cc69c445d
rasterize: use a single ncflush(), even with SUM 2021-07-02 18:57:27 -04:00
nick black
8bdd4b3908
ncfputc: we can use putc() here 2021-07-02 18:57:27 -04:00
nick black
5d7f2ce92f
visual_banner: always print to nc->ttyfp 2021-07-02 18:57:26 -04:00
nick black
de8bb9d498
clearall: take a FILE, not an fd 2021-07-02 18:57:26 -04:00
nick black
a99d096666
input: convert some stderr to logerror/logwarn() 2021-07-02 18:57:26 -04:00
nick black
a36c13da13
merge notcurses-info changes from kitty branch 2021-07-02 18:57:26 -04:00
nick black
9c1f489bb6
merge ncseqs.h from kitty branch 2021-07-02 18:57:22 -04:00
nick black
b4bf1297e1
only invert DECSDM on MLterm < 3.9.1 #1869 2021-07-02 13:34:31 -04:00
nick black
6615f52fe3
extract MLterm version from XTVERSION #1869 2021-07-02 12:52:58 -04:00
nick black
ef2e4e626e
[dragon] properly size input visual #1723 2021-07-01 05:28:30 -04:00
nick black
bf3caa8198
disable kitty ASU while it breaks graphics #1864 2021-07-01 05:17:37 -04:00
nick black
581a33f5e2
a mysterious space! 2021-07-01 02:42:31 -04:00
nick black
4c8bfbd405
notcurses-info: rewrite U13 in terms of NCANGLE* 2021-07-01 02:27:32 -04:00
nick black
0bfa8c33fd [sixel] clean up cells even when under a new sixel #1537 2021-06-30 23:59:07 -04:00
nick black
5cf24d4d2e mojibake: add emoji from unicode 14.0β 2021-06-30 21:39:02 -04:00
nick black
4a8d075e64
add NCBOXOUTER #1858 2021-06-30 19:53:21 -04:00
nick black
7e2c6fc005
notcurses-info: tighten up all output 2021-06-30 19:33:48 -04:00
nick black
62e0c226d8
brighten up initial banner 2021-06-30 19:28:54 -04:00
nick black
866ffd91dd
tighten up initial banners further 2021-06-30 19:15:57 -04:00
nick black
a1d011fdc2
notcurses-info: hold off on displaying logo 2021-06-30 18:50:53 -04:00
nick black
89fee267b7
notcurses-info: pack more densely 2021-06-30 18:41:10 -04:00
nick black
62dd65dd84
tighten up intro banner #1837 2021-06-30 18:40:30 -04:00
nick black
1193e40fd1
notcurses-info: show logo pursuant to #1649 2021-06-30 17:59:25 -04:00
nick black
3596b2b2a2
NEWS: describe pure changes 2021-06-30 17:44:54 -04:00
nick black
37fbd526ed
ncvisual_blitset_geom: handle non-origin with CHILDPLANE #1854 2021-06-30 17:40:37 -04:00
nick black
35b57ddb91
remove useless notcurses_check_pixel_support() calls 2021-06-30 17:34:44 -04:00
nick black
4177486e26
mark capability functions as ((pure)) 2021-06-30 17:32:07 -04:00
nick black
15d6cfaf35
allow pixels to stdplane with NCVISUAL_OPTION_CHILDPLANE #1854 2021-06-30 17:31:57 -04:00
nick black
6f1bbf82d0
add prefix_data() 2021-06-30 17:31:06 -04:00
nick black
a17800b034
notcurses-info: add fractions 2021-06-30 17:30:39 -04:00
nick black
301e76956e
[querylex] handle fail on set cregs 2021-06-29 21:01:58 -04:00
nick black
5861d16d33
expand accepting states for primary device attributes 2021-06-29 09:55:32 -04:00
nick black
ea41c5ebaf fix cell_extended_p() for big-endian 2021-06-29 12:56:50 +00:00
nick black
0efe1bf40e
kill obsolete FIXME 2021-06-29 08:08:28 -04:00
nick black
569e06f519
media tests: remove treacherous sleep(3)s 2021-06-29 07:45:44 -04:00
nick black
7c72bb55ed
When terminal is identified, send minimal queries
We might have already unambiguously identified our terminal
by the time we start probing (the Linux console, for instance,
is identified via ioctl()s). If we have, we still want to
send non-identification-related queries in, particularly to
get the cursor position. This fixes up notcurses-info on the
Linux console (#1837).
2021-06-29 05:53:38 -04:00
nick black
0d2ed04c1a
notcurses-info: be boring but reliable wrt glyphs 2021-06-29 05:26:01 -04:00
nick black
a21113a66a
ncls: use NCSCALE_HIRES with NCBLIT_PIXEL by default 2021-06-29 04:47:40 -04:00
nick black
1734c39de0
flashier braille coloring in notcurses-info 2021-06-29 03:36:01 -04:00
nick black
67d203c4eb
Support both DCS and SM/RM-style SU
Synchronized Updates are implemented in two different ways,
depending on the terminal. Some use DCS, and some use SM/RM.
If the terminal replies with a ?2026 advertisement, use
SM/RM. Otherwise, if heuristics suggest it, use DCS.
Closes #1850.
2021-06-29 03:30:37 -04:00
nick black
45c6a229ce
extract cell-pixel geometry from linux framebuffer console #1369 2021-06-29 03:18:09 -04:00
nick black
a95b28c2e5
fix XTVERSION parsing for unbound version strings 2021-06-29 03:05:01 -04:00
nick black
2895615e06
detect drawable linux framebuffer #1369 2021-06-29 01:42:22 -04:00
nick black
670e49b0ed
brown-bagger; check for basu before applying offset for ASU 2021-06-29 00:28:49 -04:00
nick black
3cbbbc5f77
save a system call on synchronized updates #1845 2021-06-29 00:19:26 -04:00
nick black
ca556c3457
rewrite big staggered if() in xtversion with table #1845 2021-06-28 23:50:58 -04:00
nick black
0d03e7fbbc
fix begin synchronized update emission #1845 2021-06-28 23:50:39 -04:00
nick black
c4901c84a2
support DCS ASU in kitty/vte/iterm/alacritty without discovery #1845 2021-06-28 23:50:18 -04:00
nick black
fe6ef441bc
add TERMINAL_ITERM to discoverable terminals 2021-06-28 23:49:34 -04:00
nick black
6523c01ab7
create empty auxvec when wiping transparent cells
If we're a transparent sprixcell, we don't need an
auxiliary vector...until we do. If we reload the sprixel,
we have to update the auxiliary vectors, and assume one
is there. Since we're going to be getting rid of auxvecs
for kitty once we're using animation extensions, just go
ahead and always create one. Closes #1847.
2021-06-28 23:15:22 -04:00
nick black
d06eb772b4 update damaged glyphs behind a kitty opaque cell #1704 2021-06-28 20:11:24 -04:00
nick black
7aea2147d4 statepixel: don't use alternate screen #1704 2021-06-28 20:11:24 -04:00
nick black
4aeab4e987
No ASU on Linux, no cursor_hack
Pull out the dreadful 'cursor_hack' code that was
used for MLterm. If you send DECSDM the way MLterm
wants it, you don't have the problem of the cursor
becoming visible whenever you draw a Sixel. We send
it as expected now, so that's all good.

On the Linux console, we were using an uninitialized
variable for ASU detection. This has been remedied.
2021-06-27 09:12:53 -04:00
nick black
e2c4de2515
make ubuntu tests label fit in the shield 2021-06-27 08:12:14 -04:00
nick black
cbd3483010
fix up DenyControlASCII test to admit NUL 2021-06-27 07:58:04 -04:00
nick black
6ba67a6f21
accept NULs in is_control_egc(), fixing notcurses-input 2021-06-27 07:52:33 -04:00
nick black
490c89f694 add ncplane_scrolling_p() #1841 2021-06-27 07:38:40 -04:00
nick black
b185e2528c get ResizeAndRotateFromMemory working sans leaks/breakage #1800 2021-06-27 07:38:40 -04:00
nick black
4c61a48d5a interp PoC: print labels 2021-06-27 07:38:40 -04:00
nick black
81df2dc323 rotate PoC: run faster #1800 2021-06-27 07:38:40 -04:00
nick black
42bb520445 ffmpeg_blit: don't assign data in details_seed 2021-06-27 07:38:40 -04:00
nick black
1b32823e42 bulk up ResizeThenRotateFromFile test 2021-06-27 07:38:40 -04:00
nick black
cbc9a6ce6e rotate_visual: throw in some diagnostics 2021-06-27 07:38:40 -04:00
nick black
3896b7f50b allow add_*_escapes() to be called multiple times 2021-06-27 07:38:40 -04:00
nick black
95a4511045 drop ownership in ffmpeg routines #1800 2021-06-27 07:38:40 -04:00
nick black
64abad918e
fix up LayoutLeadingSpaces test not to send tabs 2021-06-27 07:17:56 -04:00
nick black
7361683d3b
deny control characters in cells and plane emissions #1840 2021-06-27 03:16:24 -04:00
nick black
afffc96508 add compare_versions, don't use C=1 with kitty < 0.20.0 2021-06-27 01:37:51 -04:00
nick black
42fee43cf2 only set pixel_cursor_hack if cursor is hidden 2021-06-27 01:37:51 -04:00
nick black
f6f3d633ae ffmpeg: don't stick new data in details #1800 2021-06-27 01:37:51 -04:00
nick black
6aee702291
honor LINES/COLUMNS if TIOCGWINSZ fails #1826 2021-06-26 22:30:51 -04:00
nick black
81ee3a8d95
ncvisual_rotate: no need to force rgba explicitly #1800 2021-06-26 21:54:16 -04:00
nick black
e32ae497d2
unit test for rotate+resize+render #1800 2021-06-26 21:52:39 -04:00
nick black
afbdee5ae5
extract build_supported_styles() into its own function 2021-06-26 21:52:39 -04:00
nick black
23b19581e8 fix up freebsd11 build (dump getrandom(2)) 2021-06-26 21:51:22 -03:00
nick black
e287187108
fix up is_linux_console() for non-linux builds 2021-06-26 20:49:09 -04:00
nick black
a16cd3be31
rotate PoCPP was basically a PoC, move to src/poc/ #1800 2021-06-26 20:28:54 -04:00
nick black
68e498a583
ncls: disable cursor 2021-06-26 20:21:20 -04:00
nick black
e813e3abe4
ncls: default to NCBLIT_PIXEL #1835 2021-06-26 20:17:37 -04:00
nick black
88a369e997
[normal] don't run without utf8 2021-06-26 18:08:46 -04:00
nick black
dc6f697995
interp PoC: less debugging cruft 2021-06-26 04:26:19 -04:00
nick black
8fe8e35efe
set quadrants for linux console only if we reprogrammed the font, or found them 2021-06-26 03:43:31 -04:00
nick black
5c0f06eaf3
[outro] make it work in ascii 2021-06-26 03:32:43 -04:00
nick black
ed89e4f9c9
stop using sgr entirely #1818 2021-06-26 02:03:54 -04:00
nick black
8c37c56d29
colorize supported vs non-supported caps in notcurses-info 2021-06-26 02:03:34 -04:00
nick black
9973788efb
restore NCSTYLE_BLINK for now, add 25m to turn it off #1818 2021-06-26 01:14:13 -04:00
nick black
8a265920b7
unify style backends for direct+rendered modes #1818 2021-06-26 00:46:26 -04:00
nick black
5c4e8f8536
new coerce_styles to replace term_setstyles
Add new internal function coerce_styles(). This only,
and explicitly, attempts to work on UNDERLINE, BOLD, ITALICS,
STRUCK, and UNDERCURL. It does not use sgr0, eliminating the
need to recover colors on a style change. It furthermore fixes
a bug when undercurl and underline changed at the same time.
Finally, it is written in a way suitable for calling from
ncdirect, meaning we can eliminate the duplicated code
therein (its own copy of term_setstyles()) #1818.
2021-06-26 00:23:45 -04:00
nick black
5377197600
notcurses-info: colorize sextants, quadrants, halfblocks 2021-06-26 00:21:01 -04:00
nick black
63271e5f54
add ESCAPE_NOBOLD (sgr22) to avoid sgr0 #1818 2021-06-26 00:20:43 -04:00
nick black
8cb70a30bb
ncdirect: send sgr0 and sgr to the same FILE, kill DIM/REVERSE #1818 2021-06-25 23:44:32 -04:00
nick black
3c75654b67
move is_linux_console to interrogate_term() so it's used in direct mode #1828 2021-06-25 22:54:58 -04:00
nick black
f8f44cf7d2 notcurses-info: colorize braille 2021-06-25 01:25:49 -04:00
nick black
bf114aea48
notcurses-info: colorize eighths 2021-06-25 00:44:26 -04:00
nick black
4eeb61a691
notcurses-info: colorize symbols for legacy computing 2021-06-25 00:35:15 -04:00
nick black
36813470fc
grammar fix in comment 2021-06-25 00:22:04 -04:00
nick black
1b613835dc notcurses-info: color the braille 2021-06-25 00:21:08 -04:00
nick black
8b0c138b72 hey, VTE supports ucurl, sweet 2021-06-25 00:21:08 -04:00
nick black
b1fd24a970 notcurses-info: use some coloring #1823 2021-06-25 00:21:08 -04:00
nick black
5f06c2eef9 account for initial output lines for scrolling #1823 2021-06-25 00:21:08 -04:00
nick black
e74070fd32 somewhat daring and dangerous scrolling for rendered mode #1823 2021-06-25 00:21:08 -04:00
nick black
30b9e2b6fb get NCSTYLE_STRUCK into supported_styles 2021-06-25 00:21:08 -04:00
nick black
c0a61357d8 notcurses-info: print check/x for styles 2021-06-25 00:21:08 -04:00
nick black
9ed9f6bfc0 add USE_READLINE cmake flag 2021-06-25 00:21:08 -04:00
nick black
186049b3b5 cjkscroll PoC: use NO_ALTERNATE_SCREEN|PRESERVE_CURSOR #1823 2021-06-25 00:21:08 -04:00
nick black
c21cadb6e7 scroll PoC: use NO_ALTERNATE_SCREEN|PRESERVE_CURSOR #1823 2021-06-25 00:21:08 -04:00
nick black
1c38c8b39a notcurses-info: set scrolling on standard plane #1823 2021-06-25 00:21:08 -04:00
nick black
e734409187 implement NCOPTION_PRESERVE_CURSOR #1823 2021-06-25 00:21:08 -04:00
nick black
9f92986a6b always send DSRCPR at init, use it to verify u7
for NCOPTION_PRESERVE_CURSOR, we want to know the location
of the cursor at startup. go ahead and always send a DSRCPR
in terminal interrogation. if we get a reply to it, hey, we
just verified that the terminal knows DSRCPR.

if we find a u7 value in terminfo that's different from the
standard DSRCPR, we ought send that in addition. #1816
2021-06-25 00:21:08 -04:00
nick black
fd8875e757 notcurses-info: move to rendered mode output #1823 2021-06-25 00:21:08 -04:00
nick black
c0a73b939b
some fatty did eat the oslo accords 2021-06-24 06:06:08 -04:00
nick black
e44ee78b2e
sgr-full: explore entire style space #1818 2021-06-24 02:24:27 -04:00