Commit Graph

4322 Commits (c2616c6cbbc502ae4853c861f1274856d7f5760a)

Author SHA1 Message Date
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