nick black
f9e24bbed4
sprixel_free: close mstreamfp if it's open
3 years ago
nick black
8c8d07d5e8
kill some warnings on macos
3 years ago
nick black
4f1ef47b09
remove stray 'u' from plot summary
3 years ago
nick black
1597b25d39
procroller: use notcurses_get() over notcurses_getc() #1686
3 years ago
nick black
0d289958f9
death to sigset_t #1967
3 years ago
nick black
93fe6db376
check for support in ncdirect_on_styles()
3 years ago
nick black
ddbc36e872
ncdirect_dump_plane: fix sprite_draw() error check #1980
3 years ago
nick black
b67c6b8fb2
ncplayer: pass loglevel through to direct mode #1981
3 years ago
nick black
45986668a1
Linux framebuffer in direct mode ( #1959 )
...
In direct mode, we need to call through to `pixel_draw()` rather than just printing it ourselves, given that Linux framebuffer drawing doesn't involve printing (but instead writing to the memory map). Do so.
3 years ago
nick black
4f1de02710
replace random() with rand() for windows goodness
3 years ago
nick black
613d437b87
input: don't error out on all special keys, egads =[
3 years ago
nick black
2fb9db77e8
fbcon: update auxvecs on reblit
3 years ago
nick black
cd635316d9
fbcon_wipe: preserve auxvec
3 years ago
nick black
1113f7dd35
windows: patch out more constants
3 years ago
nick black
f28152d95e
ncplayer: eliminate %j conversions
3 years ago
nick black
1e2f3252bd
hark! a vagrant! get windows library linking
3 years ago
nick black
e5d77037dc
CMake: link in ws2_32 on windows
3 years ago
nick black
03fbf57f24
fix up windows strndup compilation
3 years ago
nick black
a26b28e10f
prefer ansi c rand() to posix random(), doh
3 years ago
nick black
b867935708
termdesc: wrap linux-only parts up for linux
3 years ago
nick black
3172f4712a
s/SA_SIGNINFO/SA_SIGINFO/g =[
3 years ago
nick black
3d3561fe0e
windows: elide still more signal jank
3 years ago
nick black
59cb0b8bfa
plot: use PRIu64
3 years ago
nick black
0d0f30ca93
windows: don't try and use termios
3 years ago
nick black
fd13b70d27
windows: no sys/ioctl.h, move to compat.h
3 years ago
nick black
8332ff060c
windows: no langinfo.h
3 years ago
nick black
7ace56cee6
remove unused png mmap code
3 years ago
nick black
b2fb50fc39
png: cut out mmap portions on windows
3 years ago
nick black
c733293421
[rage at sky]
3 years ago
nick black
8df13818de
windows: stub out siginfo_t
3 years ago
nick black
15c3d88ddb
windows: more signal/termios mitigation #463
3 years ago
nick black
d90736f84f
define O_CLOEXEC as O_NOINHERIT on windows
3 years ago
nick black
698d1e59f5
replace j conversion with PRI for windows
3 years ago
nick black
917361d87d
windows: fd.c needs internal.h for logerror()
3 years ago
nick black
d3d0838c07
windows hates all of fd.c
3 years ago
nick black
ff2ef8571d
windows: no sys/wait.h, weird printf specifiers
3 years ago
nick black
dae8e340d2
still more windows garbage
3 years ago
nick black
0ae839c63d
windows craveth not posix signals
3 years ago
nick black
873ee6f227
windows cleanups
3 years ago
nick black
ed99ac670e
strike most poll.h, use winsock2.h on windows
3 years ago
nick black
f79e41294c
notcurses_getc: don't count nonblocking exit as input_error for stats
3 years ago
nick black
8d46a0bd17
capture bytes in linux framebuffer graphics to sprixelbytes stat
3 years ago
nick black
b278d16f67
fbcon_wipe: build up auxvec
3 years ago
nick black
6c45990abb
kitty: use zlib level 2, not 6 #1695
3 years ago
nick black
729290d81a
deflate for animate #1695
3 years ago
nick black
5da51e138c
intro: don't tolerate drawing failures
3 years ago
nick black
4fc1561d0f
blitterargs: no need to pass cell-pixel geom, it's in sprixel
3 years ago
nick black
a5ec720e5b
kitty: fold transcolor verdict into auxvec
3 years ago
nick black
383ce5c2b0
xray: always set marsh.dm
3 years ago
nick black
19305aa653
kitty: reuse auxvecs across frames
3 years ago
nick black
cc6bdf4b55
kitty: write transcolor pixel alpha as 0
...
when we're building out the kitty graphic, we check whether
alpha is low, or whether the color matches the transparent
color. in the latter case, we're writing the original alpha
to the auxvec. in rebuild, however, we don't know what the
transcolor was, and thus a pixel that matched it will become
visible. instead, rewrite alpha as 0 on transcolor match, so
that 0 is restored should we rebuild the cell.
3 years ago
nick black
fcd62a04ec
kitty: on redraw, move between annihilations
3 years ago
nick black
6f8b882b6d
stats_summarize: move input events up, where there's more space
3 years ago
nick black
05fdd0b117
flush before making SUM decision, to get true value
3 years ago
nick black
17d5b4064a
move sixel inversion detection into apply_term_heuristics #1957
3 years ago
Daniel Eklöf
0ec571d80c
Foot has an inverted DECSDM since 1.8.2
...
fcd9897342
3 years ago
nick black
08e0acf92b
recognize Terminology via DA3 of ~~TY
3 years ago
nick black
8c7f047a05
ncmenu: always use NCPLANE_OPTION_FIXED #1958
3 years ago
nick black
f9ebbcd80a
demo: create all subplanes with NCPLANE_OPTION_FIXED #1958
3 years ago
nick black
962a7539b4
whiteout: restore original scrolling mode for standard plane
3 years ago
nick black
ee9b01e9b6
Konsole now handles TDA #1807
3 years ago
nick black
c3d3f8613b
work around whiteout problems on mac #1936
3 years ago
nick black
f1bdc38538
preserve TAM annihilation across multiframes in fbcon #1954
3 years ago
nick black
145a421d02
fbcon: implement transparency via copy elision
3 years ago
nick black
5fc1540a09
fbcon_scrub: return success to get notcurses-demo working in framebuffer
3 years ago
nick black
b590056887
notcurses-info: use NCLOGLEVEL_SILENT without -v
3 years ago
nick black
bb7a141a3b
iTerm2: name it, always give it quadrant/rgb
3 years ago
nick black
11787f159c
build fbcon routines even off linux #1883
3 years ago
nick black
cf5e98c6cd
fbcon: properly place bitmaps
3 years ago
nick black
d2cf43d087
kill obsolete FIXME
3 years ago
nick black
558a1652cf
fbcon_rebuild, necessary
3 years ago
nick black
a5b9a2ed42
linux fbcon blitting!
3 years ago
nick black
c7dd482474
need fbcon_scrub
3 years ago
nick black
8f8e910eaf
adapt framebuffer code to new sprixel api
3 years ago
nick black
3e366ebe0e
set up framebuffer graphics
3 years ago
nick black
f8463270f1
cleanup for tinfo_debug_bitmaps()
3 years ago
nick black
04c0d37675
scroll child planes only when they intersect #1883
3 years ago
nick black
1f254c47b2
implement child plane scrolling #1883
3 years ago
nick black
8db6e3abaa
notcurses-info: display logo at the end for proper positioning #1883
3 years ago
nick black
3f2147b9e4
set sprixel_scale_height to 1 by default
3 years ago
nick black
382b68f5ab
why weren't we always handling SIGFPE?
3 years ago
nick black
84a61d1476
terminate iTerm2 OSC with ST
3 years ago
nick black
bed16a9b7b
when HIGHCONTRAST is atop default, use queried value for bg computation #1947
3 years ago
nick black
d8338105b3
notcurses_refresh: correct dimy/dimx #1931
3 years ago
nick black
c5bef4a2af
iterm: position cursor before draw
3 years ago
nick black
7ed7827aca
iterm: use sixel_scrub for scrubbing
3 years ago
nick black
757fb5811f
display images with iterm2 protocol ( #1946 )
...
Implement the basics of the iTerm2 graphics protocol, requiring PNG construction, zlib compression, and base64 encoding. We're not yet performing wipes nor restores, only display. This is still pretty experimental, but it worked with WezTerm. #1420
3 years ago
nick black
7b4d3b9af3
iTerm2: fix up XTVERSION lexing #1944
3 years ago
nick black
547a30e73f
summarize_stats: protect against 0 renders zerodiv
3 years ago
nick black
cd49a63b7b
only use MAP_SHARED_VALIDATE where defined #1941
3 years ago
nick black
fadc500568
better guard on demo's summary table for divide by zero
3 years ago
nick black
38f1ea1ebc
update cursor terminal point with PRESERVE_CURSOR
3 years ago
nick black
c9ddec9de7
add input_events and input_errors stats #1914
3 years ago
nick black
ffbafef645
notcurses_stats: copy only stats, not lock #1914
3 years ago
nick black
fe150bff95
pass ncsharedstats down through to input layer #1914
3 years ago
nick black
b1b35a56e7
move stats lock into object with stats struct #1914
3 years ago
nick black
7722ea60c6
move lock into ncstats object #1914
3 years ago
nick black
e98c59a40d
notcurses-info: drop spurious space following braille
3 years ago
nick black
4398fc223c
implement locate_cursor_simple for redirected input case #1942
3 years ago
MasFlam
ff0cffc590
Spice up the tabbed poc
3 years ago
nick black
b2cfddc645
atomic on png crc32 lookup
3 years ago
nick black
5a0e2a2ae5
CMake: link zlib into notcurses-core #1821
3 years ago
nick black
4de3101c20
provide png.h
3 years ago
nick black
1dd954d4be
deflate that sumbitch
3 years ago
nick black
c1e419fd9d
CMake: demand Zlib
3 years ago
nick black
60c953b77b
png: prep for deflate
3 years ago
nick black
3dbc5645f7
create_png_mmap: accept a file descriptor
3 years ago
nick black
a55a37a838
write PNG IDAT and IEND chunks, unit test
3 years ago
nick black
9c92b83387
some PNG work
3 years ago
nick black
277fd3931e
start writing up PNGs
3 years ago
nick black
0dfe103f4f
define PNG creation interface, assumes mmap() #1821
3 years ago
nick black
ef1dfe6254
fix regression in HUD from shift to PRIu64, whoops
3 years ago
nick black
8947a5f5d7
not many neofetch changes recently
3 years ago
nick black
af1015b264
kill 'vizdirect' PoC
3 years ago
nick black
99217a7e27
employ XTPUSHCOLORS/XTPOPCOLORS where supported #1296
3 years ago
nick black
95cdfd7524
learn XTPOPCOLORS/XTPUSHCOLORS for xterm+kitty #1296
3 years ago
nick black
2c838e3aa7
info: when printing neoart, use default foreground
3 years ago
nick black
37fb3ab34e
README: clear up wording in FAQ entry
3 years ago
nick black
bfd689b1c0
info: dole out symbols line, closes #1929
3 years ago
nick black
e04793b6d6
info: dole out box lines #1929
3 years ago
nick black
8566aa8fec
info: expand out the legacy symbols rows #1929
3 years ago
nick black
d1b1e7fe3a
info: do sextants one-by-one #1929
3 years ago
nick black
6f2d392f69
silence a bunch of Wstring-plus-int warnings
3 years ago
nick black
26a381b6e2
notcurses-info: break out sextants #1929
3 years ago
nick black
ba19013f6a
notcurses-info: overcome unicode deficiencies throughout braille #1929
3 years ago
nick black
19f7726075
notcurses-info: print braille one at a time #1929
3 years ago
nick black
a705dfd0ff
convert last(?) two remaining PRIu64s
3 years ago
nick black
c804148084
Mention @michaelsbradleyjr in HISTORY.md
3 years ago
nick black
3458c440d9
ncneofetch gets a logo on darwin #1925
3 years ago
nick black
ab69a1d6d0
animate: truncate unicode 13 for apple #195
3 years ago
nick black
a8baa6cb9a
poll: handle NULL as -1 on apple #195
3 years ago
nick black
622ae010da
fix format specifiers in demo.c #195
3 years ago
nick black
baf218fdd4
egcpool, plane: fix unit tests for OS X #1924
3 years ago
nick black
86aa60d55b
cell.cpp: fix up tests for OS X #1924
3 years ago
nick black
fef33ad2aa
wide.cpp: patch up tests for OS X 11.4
3 years ago
nick black
931fa8eb13
get everything building on OSX #195
3 years ago
nick black
5015e39f16
only need TIMER_ABSTIME on apple
3 years ago
nick black
8f41bfd757
inttypes PRIu64 throughout stats.c
3 years ago
nick black
f3886df67c
osx: ppoll, execvpe, pipe2 workarounds
3 years ago
nick black
33752742d1
byteswap on OS X #195
3 years ago
nick black
15b9b64cad
char32_t is C++, not C -- move to uint32_t
3 years ago
nick black
0d68b62bee
enqueue_cursor_report: set clr->next to NULL
3 years ago
nick black
bd002f154f
garbage first run at integrated cursor location report #1692
3 years ago
nick black
fb75a11a75
render: need scrolls before sprixels
3 years ago
nick black
c2763fb6c7
summarize_stats: one newline to stdout, not stderr
3 years ago
nick black
fb8b453d61
get look_for_clrs() down on paper #1692
3 years ago
nick black
d6ef7ccacd
add link to 'Text Rendering Hates You'
3 years ago
nick black
6708780e60
fix up XTSHIFTESCAPE #1061
3 years ago
nick black
2240880718
extract fill_buffer #1692
3 years ago
nick black
73324ce2a4
yank locate_cursor_early() #1692
3 years ago
nick black
85e55de569
recognize Tc unofficial terminfo capability as synonym for RGB
3 years ago
nick black
bd451aa087
implement locate_cursor() #1692
3 years ago
nick black
e133225092
implement enqueue_cursor_report #1692
3 years ago
nick black
9746a06bde
prepare a cursor report queue #1692
3 years ago
nick black
3df88384cd
set XTSHIFTESCAPE when enabling mouse #1061
3 years ago
nick black
d81164a348
handle_csi: differentiate between csis #1692
3 years ago
nick black
dcc58ef713
input: process CSI for cursor report #1692
3 years ago
nick black
75b84329da
comment up handle_getc() regarding controls #1692
3 years ago
nick black
7ee9ef397a
add logpanic/logfatal, convert some printf()s
3 years ago
nick black
8a3579581a
[input] read large chunks at once #1903
3 years ago
nick black
cf8b640064
The Gang Genocides Genocide s/_genocide/_destroy_family/g #1907
3 years ago
nick black
cea2206ec7
remove two meaningless uses of inline from notcurses.c
3 years ago
Tomek Szczęsny
0baf4ea1b5
Relative cursor move ( #1885 )
...
Relative cursor move by @tomek-szczesny
3 years ago
nick black
531f62a5ae
notcurses-demo: remove stray notcurses_refresh() calls
3 years ago
nick black
5a081a014d
kitty: remove horrible a=t positioning hack #1918 #1910
3 years ago
nick black
c2d6edc109
notcurses_refresh: always clear screen #1915
3 years ago
nick black
7bdad5237f
get clrscr immediately before refresh #1915
3 years ago
nick black
bc4f2a3626
CHANNELS_RGB_ -> NCCHANNELS_
3 years ago
nick black
bfca06264a
fix up indexing for NCBLIT_8x1 plotter #1912
3 years ago
nick black
2441a31766
kill unused variable warnings
3 years ago
nick black
37286aa707
work around strange kitty issue for now #1910
3 years ago
nick black
714b288c8d
[kitty] no longer need to update under opaque, huzzah
3 years ago
nick black
aada04ba47
flush following goto_location for logend #1906
3 years ago
nick black
8b33353105
[kitty] q=2 can come on earlier chunks
3 years ago
nick black
0c484e4e02
run the logend{yx} state machine in raster #1906
3 years ago
nick black
f9c8102e37
notcurses-info: use NCOPTION_NO_CLEAR_BITMAPS
3 years ago
nick black
5725605167
move cursor to logend{yx} post rasterization #1906
3 years ago
nick black
af418a221f
with PRESERVE_CURSOR, track logical end of output #1906
3 years ago
nick black
e767fd0b5f
notcurses-demo: turn mouse support back on
3 years ago
nick black
087fd083af
[brownbag] actually call mouse_{dis/en}able()
3 years ago
nick black
840ed1a3d8
remove all uses of NCSTYLE_STANDOUT
3 years ago
nick black
55f8614391
improve 256-color grey quantization
3 years ago
nick black
b96dc6d1bc
recognize greys in 8-color quantization
3 years ago
nick black
a7779c5024
cursor_yx_get: loop on 0 input for GNU screen #1902
3 years ago
nick black
e2a3af49b5
cursor_yx_get: fprintf -> logerror
3 years ago
nick black
405a1f2808
recognize tmux in XTVERSION #1901
3 years ago
nick black
f3504b3bfe
DA2: don't force version interpretation #1901
3 years ago
nick black
cefc98f55b
reset errno prior to reading control input #1901
3 years ago
nick black
672a761080
mmap() the linux framebuffer
3 years ago
nick black
afad46b006
notcurses-info: admit -v for NCLOGLEVEL_TRACE
3 years ago
nick black
14a50cfa3f
add ncchannels_reverse, use it in ncmenu, add unit test #1878
3 years ago
nick black
f0aec109b7
support menus on any plane #1645
3 years ago
nick black
e631cac954
s/SPRIXCEL_/SPRIXCELL_/g
3 years ago
nick black
b2dd44e06c
[kitty] convert fixed fprintfs to ncfputs
3 years ago
nick black
8b1c324353
[kitty] update summary comment
3 years ago
nick black
8846e3cee2
ncdirect_putegc(), get true width in ncwidth #1899
3 years ago
nick black
4a23acab2d
fission demo: go both up and down #1896
3 years ago
nick black
20603e5012
direct mode: fix for animation kitty
3 years ago
nick black
4d2a896cdd
notcurses-info: distinguish animation from regular kitty #1895
3 years ago
nick black
66b8c7f004
[kitty] properly copy source for rebuild #1895
3 years ago
nick black
0aa8b5267c
[kitty] fixup non-animated case
3 years ago
nick black
6d6f69a02b
rebuild: only free auxvec for non-animation #1895
3 years ago
nick black
811bc9eb65
animated kitty rebuild #1895
3 years ago
nick black
22443d4b3a
[kitty] fixups for non-animated case #1895
3 years ago
nick black
a0b5a85e25
kitty: animated rebuild no longer crashes
3 years ago
nick black
b9b26603ad
kitty animation: everything up through rebuild works #1895
3 years ago
nick black
af305f56c4
[kitty] clean up auxvecs on error #1895
3 years ago
nick black
ebc405b165
[kitty] get most of animation working #1895
3 years ago
nick black
d2e0c64a7c
add kitty_transanim_auxvec() and kitty_wipe_animation() #1895
3 years ago
nick black
948553a980
extract sprite.h
3 years ago
nick black
4bb85d28c8
use non-interpolative scaling with eagle/luigi
3 years ago
nick black
f339855c39
nccell_width: minimum width is 1 #1894
3 years ago
nick black
b170ee98e1
you do not get to win https://www.youtube.com/watch?v=ASacQYJWOPI
3 years ago
nick black
6e19e0536e
demo: remove obsolete postinit_checks()
3 years ago
nick black
3c2fe36fc9
[kitty] pass C=1 for move command
3 years ago
nick black
1493045490
notcurses-info: hold off on displaying logo
3 years ago
nick black
5009a25721
stop warning on truecolor but no ccc
3 years ago
nick black
d38c15302a
notcurses-info: add sub+superscripts
3 years ago
nick black
b41928833f
replace fprintf with ncfputc
3 years ago
nick black
e7ac7ab14b
[kitty] C=1 needs be emitted with the presentation, not load #1865
3 years ago
nick black
afd738a977
direct: write sprixels with posix i/o to work around blocking
3 years ago
nick black
0b794bba64
direct mode: work with separate load+display kitty #1865
3 years ago
nick black
56433a1a7f
[kitty] free and release sprixel on commit to destroy #1890
3 years ago
nick black
2e7079a69e
[kitty] silence present command #1865
3 years ago
nick black
9a53379d36
[kitty] keep display distinct from draw #1865
3 years ago
nick black
3f8dcfa357
kitty: separate out commit from draw #1865
3 years ago
nick black
3608d6a2d6
[kitty] pull remove out of destroy, rename destroy scrub #1865
3 years ago
nick black
3763739b9f
direct mode: write sprixel with posix i/o for strength
3 years ago
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.
3 years ago
nick black
4a3e536c66
notcurses-info: completely shade lower right
3 years ago
nick black
32ade77dd5
more sequences, more notcures-info
3 years ago
nick black
88cccb4d2a
notcurses-info: colorize box block
3 years ago
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 .
3 years ago
nick black
29f1acc479
bulk up scrolling unit test #1649
3 years ago
nick black
8df91e35a9
unit test for virtual cursor on scrolling plane #1649
3 years ago
nick black
0941efbea5
unit tests for ncplane_moverel()
3 years ago
nick black
da3f485ace
notcurses-info: add many triangles
3 years ago
nick black
8dc65b6db1
notcurses-info: always emit newline #1837
3 years ago
nick black
669cf758df
locate_cursor_early: fix compilation
3 years ago
nick black
e870e12285
locate_cursor_early: require ttyfd #1880
3 years ago
nick black
acc66372b5
add utf8_codepoint_length() #1871
3 years ago
nick black
70b8bba715
Merge branch 'master' of github.com:dankamongmen/notcurses
3 years ago
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 .
3 years ago
nick black
50a7996b4f
notcurses_detected_terminal: use termdesc_longterm()
3 years ago
nick black
5451ecd890
return version in ncdirect_detected_terminal()
3 years ago
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.
3 years ago
nick black
4ed41259c9
don't emit smkx twice, flatten all initial writes
3 years ago
nick black
488a36eaf5
ncplayer: remove meaningless notcurses_check_pixel_support() call
3 years ago
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 .
3 years ago
nick black
ed8c369d4e
on pile change, clear old sprixels #1875
3 years ago
nick black
9d27bf1869
remove meaningless notcurses_check_pixel_supprot() from ncplayer
3 years ago
nick black
588f8d3789
drop signals at the end of reset_term_attributes() #1872
3 years ago
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.
3 years ago
nick black
505f38956d
Fade unit test: use CELL_CHAR_INITIALIZER
3 years ago
nick black
0e341fa3de
notcurses-info.1: describe output
3 years ago
nick black
1287d8bd03
combine some writes
3 years ago
nick black
d558c8d6e1
require set_pixel_blitter() for sixel_blit
3 years ago
nick black
5af6f58e07
Visual: render 1x1->fullscreen #1675
3 years ago
nick black
feccb7dab8
purge wayward notcurses_debug() calls in pile unit tests
3 years ago
nick black
f219a21732
ResizeThenRotateFromMemory is garbage =[
3 years ago
nick black
4d1681bf11
fix dumb error in ResizeThenRotateFromMemory #1722
3 years ago
nick black
d8c37337d9
allow different backends to specify their own padding requirements #1722
3 years ago
nick black
a10959345a
null media implementation: don't colorize warning
3 years ago
nick black
cb6ffee3a7
OpenImageIO: simplify TypeDesc declarations #1722
3 years ago
nick black
d70aed8939
tighten up banner warnings
3 years ago
nick black
c2a076a6b3
banners: properly account lines
3 years ago
nick black
4f8a8597a1
fold a few escape emissions down into single flushes
3 years ago
nick black
4cc69c445d
rasterize: use a single ncflush(), even with SUM
3 years ago
nick black
8bdd4b3908
ncfputc: we can use putc() here
3 years ago
nick black
5d7f2ce92f
visual_banner: always print to nc->ttyfp
3 years ago
nick black
de8bb9d498
clearall: take a FILE, not an fd
3 years ago
nick black
a99d096666
input: convert some stderr to logerror/logwarn()
3 years ago
nick black
a36c13da13
merge notcurses-info changes from kitty branch
3 years ago
nick black
9c1f489bb6
merge ncseqs.h from kitty branch
3 years ago
nick black
b4bf1297e1
only invert DECSDM on MLterm < 3.9.1 #1869
3 years ago
nick black
6615f52fe3
extract MLterm version from XTVERSION #1869
3 years ago
nick black
ef2e4e626e
[dragon] properly size input visual #1723
3 years ago
nick black
bf3caa8198
disable kitty ASU while it breaks graphics #1864
3 years ago
nick black
581a33f5e2
a mysterious space!
3 years ago
nick black
4c8bfbd405
notcurses-info: rewrite U13 in terms of NCANGLE*
3 years ago
nick black
0bfa8c33fd
[sixel] clean up cells even when under a new sixel #1537
3 years ago
nick black
5cf24d4d2e
mojibake: add emoji from unicode 14.0β
3 years ago
nick black
4a8d075e64
add NCBOXOUTER #1858
3 years ago
nick black
7e2c6fc005
notcurses-info: tighten up all output
3 years ago
nick black
62e0c226d8
brighten up initial banner
3 years ago
nick black
866ffd91dd
tighten up initial banners further
3 years ago
nick black
a1d011fdc2
notcurses-info: hold off on displaying logo
3 years ago
nick black
89fee267b7
notcurses-info: pack more densely
3 years ago
nick black
62dd65dd84
tighten up intro banner #1837
3 years ago
nick black
1193e40fd1
notcurses-info: show logo pursuant to #1649
3 years ago
nick black
3596b2b2a2
NEWS: describe pure changes
3 years ago
nick black
37fbd526ed
ncvisual_blitset_geom: handle non-origin with CHILDPLANE #1854
3 years ago
nick black
35b57ddb91
remove useless notcurses_check_pixel_support() calls
3 years ago
nick black
4177486e26
mark capability functions as ((pure))
3 years ago
nick black
15d6cfaf35
allow pixels to stdplane with NCVISUAL_OPTION_CHILDPLANE #1854
3 years ago
nick black
6f1bbf82d0
add prefix_data()
3 years ago
nick black
a17800b034
notcurses-info: add fractions
3 years ago
nick black
301e76956e
[querylex] handle fail on set cregs
3 years ago
nick black
5861d16d33
expand accepting states for primary device attributes
3 years ago
nick black
ea41c5ebaf
fix cell_extended_p() for big-endian
3 years ago
nick black
0efe1bf40e
kill obsolete FIXME
3 years ago
nick black
569e06f519
media tests: remove treacherous sleep(3)s
3 years ago
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 ).
3 years ago
nick black
0d2ed04c1a
notcurses-info: be boring but reliable wrt glyphs
3 years ago
nick black
a21113a66a
ncls: use NCSCALE_HIRES with NCBLIT_PIXEL by default
3 years ago
nick black
1734c39de0
flashier braille coloring in notcurses-info
3 years ago
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 .
3 years ago
nick black
45c6a229ce
extract cell-pixel geometry from linux framebuffer console #1369
3 years ago
nick black
a95b28c2e5
fix XTVERSION parsing for unbound version strings
3 years ago
nick black
2895615e06
detect drawable linux framebuffer #1369
3 years ago
nick black
670e49b0ed
brown-bagger; check for basu before applying offset for ASU
3 years ago
nick black
3cbbbc5f77
save a system call on synchronized updates #1845
3 years ago
nick black
ca556c3457
rewrite big staggered if() in xtversion with table #1845
3 years ago
nick black
0d03e7fbbc
fix begin synchronized update emission #1845
3 years ago
nick black
c4901c84a2
support DCS ASU in kitty/vte/iterm/alacritty without discovery #1845
3 years ago
nick black
fe6ef441bc
add TERMINAL_ITERM to discoverable terminals
3 years ago
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 .
3 years ago
nick black
d06eb772b4
update damaged glyphs behind a kitty opaque cell #1704
3 years ago
nick black
7aea2147d4
statepixel: don't use alternate screen #1704
3 years ago
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.
3 years ago
nick black
e2c4de2515
make ubuntu tests label fit in the shield
3 years ago
nick black
cbd3483010
fix up DenyControlASCII test to admit NUL
3 years ago
nick black
6ba67a6f21
accept NULs in is_control_egc(), fixing notcurses-input
3 years ago
nick black
490c89f694
add ncplane_scrolling_p() #1841
3 years ago
nick black
b185e2528c
get ResizeAndRotateFromMemory working sans leaks/breakage #1800
3 years ago
nick black
4c61a48d5a
interp PoC: print labels
3 years ago
nick black
81df2dc323
rotate PoC: run faster #1800
3 years ago
nick black
42bb520445
ffmpeg_blit: don't assign data in details_seed
3 years ago
nick black
1b32823e42
bulk up ResizeThenRotateFromFile test
3 years ago
nick black
cbc9a6ce6e
rotate_visual: throw in some diagnostics
3 years ago
nick black
3896b7f50b
allow add_*_escapes() to be called multiple times
3 years ago
nick black
95a4511045
drop ownership in ffmpeg routines #1800
3 years ago
nick black
64abad918e
fix up LayoutLeadingSpaces test not to send tabs
3 years ago
nick black
7361683d3b
deny control characters in cells and plane emissions #1840
3 years ago
nick black
afffc96508
add compare_versions, don't use C=1 with kitty < 0.20.0
3 years ago
nick black
42fee43cf2
only set pixel_cursor_hack if cursor is hidden
3 years ago
nick black
f6f3d633ae
ffmpeg: don't stick new data in details #1800
3 years ago
nick black
6aee702291
honor LINES/COLUMNS if TIOCGWINSZ fails #1826
3 years ago
nick black
81ee3a8d95
ncvisual_rotate: no need to force rgba explicitly #1800
3 years ago
nick black
e32ae497d2
unit test for rotate+resize+render #1800
3 years ago
nick black
afbdee5ae5
extract build_supported_styles() into its own function
3 years ago
nick black
23b19581e8
fix up freebsd11 build (dump getrandom(2))
3 years ago
nick black
e287187108
fix up is_linux_console() for non-linux builds
3 years ago
nick black
a16cd3be31
rotate PoCPP was basically a PoC, move to src/poc/ #1800
3 years ago
nick black
68e498a583
ncls: disable cursor
3 years ago
nick black
e813e3abe4
ncls: default to NCBLIT_PIXEL #1835
3 years ago
nick black
88a369e997
[normal] don't run without utf8
3 years ago
nick black
dc6f697995
interp PoC: less debugging cruft
3 years ago
nick black
8fe8e35efe
set quadrants for linux console only if we reprogrammed the font, or found them
3 years ago
nick black
5c0f06eaf3
[outro] make it work in ascii
3 years ago
nick black
ed89e4f9c9
stop using sgr entirely #1818
3 years ago
nick black
8c37c56d29
colorize supported vs non-supported caps in notcurses-info
3 years ago
nick black
9973788efb
restore NCSTYLE_BLINK for now, add 25m to turn it off #1818
3 years ago
nick black
8a265920b7
unify style backends for direct+rendered modes #1818
3 years ago
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 .
3 years ago
nick black
5377197600
notcurses-info: colorize sextants, quadrants, halfblocks
3 years ago
nick black
63271e5f54
add ESCAPE_NOBOLD (sgr22) to avoid sgr0 #1818
3 years ago
nick black
8cb70a30bb
ncdirect: send sgr0 and sgr to the same FILE, kill DIM/REVERSE #1818
3 years ago
nick black
3c75654b67
move is_linux_console to interrogate_term() so it's used in direct mode #1828
3 years ago
nick black
f8f44cf7d2
notcurses-info: colorize braille
3 years ago
nick black
bf114aea48
notcurses-info: colorize eighths
3 years ago
nick black
4eeb61a691
notcurses-info: colorize symbols for legacy computing
3 years ago
nick black
36813470fc
grammar fix in comment
3 years ago
nick black
1b613835dc
notcurses-info: color the braille
3 years ago
nick black
8b0c138b72
hey, VTE supports ucurl, sweet
3 years ago
nick black
b1fd24a970
notcurses-info: use some coloring #1823
3 years ago
nick black
5f06c2eef9
account for initial output lines for scrolling #1823
3 years ago
nick black
e74070fd32
somewhat daring and dangerous scrolling for rendered mode #1823
3 years ago
nick black
30b9e2b6fb
get NCSTYLE_STRUCK into supported_styles
3 years ago
nick black
c0a61357d8
notcurses-info: print check/x for styles
3 years ago
nick black
9ed9f6bfc0
add USE_READLINE cmake flag
3 years ago
nick black
186049b3b5
cjkscroll PoC: use NO_ALTERNATE_SCREEN|PRESERVE_CURSOR #1823
3 years ago
nick black
c21cadb6e7
scroll PoC: use NO_ALTERNATE_SCREEN|PRESERVE_CURSOR #1823
3 years ago
nick black
1c38c8b39a
notcurses-info: set scrolling on standard plane #1823
3 years ago
nick black
e734409187
implement NCOPTION_PRESERVE_CURSOR #1823
3 years ago
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
3 years ago
nick black
fd8875e757
notcurses-info: move to rendered mode output #1823
3 years ago
nick black
c0a73b939b
some fatty did eat the oslo accords
3 years ago
nick black
e44ee78b2e
sgr-full: explore entire style space #1818
3 years ago
nick black
9d7f07771b
GTFO NCSTYLE_DIM, NCSTYLE_REVERSE #1818
3 years ago
nick black
d08b65f323
ncdirect_stream(): if bitmap wraps the screen, move up one more y #1820
3 years ago
nick black
7b570ba813
direct mode: don't scroll on image out due to overambitious sizing #1804
3 years ago
nick black
ce073d22ac
fallin demo: no write to failed alloc
3 years ago
nick black
4064ede06c
sprixel_auxiliary_vector: don't deref NULL on alloc failure
3 years ago
nick black
742ae4ea5f
ncinputlater_add_input_escape: don't write to NULL on malloc failure
3 years ago
nick black
8ff8368fe1
manually add u7 on kitty if missing, sigh #1816
3 years ago
nick black
383678da4e
move remainder of debug_caps into notcurses-info #1793
3 years ago
nick black
8fc2a32990
remove NCSTYLE_{INVIS,BLINK,STANDOUT} #1818
3 years ago
nick black
8a98a98b7e
term_debug: move style code into notcurses-info #1793
3 years ago
nick black
0e9641e0f5
direct mode: kill a bunch of style-related duplication
3 years ago
nick black
cba21d24fa
tighten up term_debug_caps() a bit #1793
3 years ago
nick black
2ed1ad466f
term_debug_caps: move big unicode block to notcurses-info #1793
3 years ago
nick black
42f9419006
debug_term: use unicode checks/xs when available
3 years ago
nick black
ac652ac7f3
use -Wformat-security
3 years ago
nick black
dc08fea378
closing banner: show ASUs as percentage of total writeouts
3 years ago
nick black
f042135c5a
term_caps: remove duplicated eights block
3 years ago
Nick Black
ec5ba6da80
ncneofetch: popen(3) wants pclose(3), not fclose(3)
3 years ago
nick black
7df761c041
don't allow a format string attack via endasu sequence, heh
3 years ago
nick black
2bc945e52a
STATE_SIXEL_SUCCESS: reset inits->numeric #1810
3 years ago
nick black
0b84b4235d
stats: fix up for error cases #1814
3 years ago