Commit Graph

3838 Commits (fef33ad2aa9616041bc60a3e57d291473c1ecde4)

Author SHA1 Message Date
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
nick black 735d7bf991 ASU: need to push BSU through ttyfp just like ESU 3 years ago
nick black 2ed67f6ffc
cursor PoC: add missing header 3 years ago
nick black 491862b60b
notcurses_cursor_enable: remove terribly broken test #1812 3 years ago
nick black f50df3240a no need to check ttyfd for ASU if we have the escape 3 years ago
nick black 041f97371f add stat for ASUs and send them #1582 3 years ago
nick black 1f19ee3bb1 gimme that appsync support #1582 3 years ago
nick black cb486fef3e send DECRPT for ?2026, app-sync update #1582 3 years ago
nick black 7b10d723ec
SprixelTermValues: correct test 3 years ago
nick black ac93b7b6f4
[rgba_trans_p] fix brown-bagger; this was broken for all a with bits 8..23 3 years ago
nick black 93fd4515e7
ncplayer: accept a color specification for -a 3 years ago
nick black 759de01d02 get linux kernel version for termversion 3 years ago
nick black 3d6a9b1c7a [linux] get our lower eighths back 3 years ago
nick black 1f67b13370 get linux font reprogramming working once more 3 years ago
nick black fc62956bf7 shim_quad_block(): replace the many other quad shimmers for linux console #1726 3 years ago
nick black 2c8cc6f53c shim_upper_half_block: deal with arbitrary width #1726 3 years ago
nick black 61ac8dfbb1 handle KDFONTOP response, set up copy range better #1726 3 years ago
nick black 2621612e0f start moving {PIO,GIO}_FONTX -> KDFONTOP #1726 3 years ago
nick black f388e3d7da
use pixel_draw to verify bitmap support 3 years ago
nick black 8022faf2c0
supply O_NOCTTY to open(2) in get_fd_tty() 3 years ago
nick black 379453c8ea
render piles to file/buffer
Replace notcurses_render_to_file() and
notcurses_render_to_buffer() with variants that work
on arbitrary piles (the former only worked on the standard
pile). Rewrite the former as trivial wrappers around the
latter, and deprecate the former. Closes #1770.
3 years ago
nick black 921c2ce033
ffmpeg_resize: check for NULL from ffmpeg_resize_internal #1788 3 years ago
nick black e8d19852d3
kill off old palette256 type (has been ncpalette for months) #1777 3 years ago
nick black 8d3c042640
turn off bitmap support if TIOCGWINSZ doesn't supply pixel info #1805 3 years ago
nick black 2d9438cdb2
ncvisual_from_rgb_loose: shrink overspaced stride 3 years ago
nick black 94947df1ad
termdesc: factor out extract_paren_version, handle foot's XTVERSION #1798 3 years ago
nick black 44e85d2f05
termdesc: identify kitty+version from XTVERSION response #1798 3 years ago
nick black e4656dbd77
ncvisual_from_rgb_packed: correct alloc size, add unit test #1806 3 years ago
nick black 75bbdc2ca5 emphasize kitty_move return value viz stats 3 years ago
nick black 553c0637bf kitty: must redraw for wipe/rebuild #1395 3 years ago
nick black e9be8e67d2 kitty_wipe: don't set INVALIDATED unless in QUIESCENT #1395 3 years ago
nick black d7f3800009 [kitty] introduce kitty_move #1395 3 years ago
nick black 2d2a469f14 [kitty] write position id 1 when creating graphic #1395 3 years ago
nick black 4e03eb4549
always enable rgb for WezTerm 3 years ago
nick black fe61082c5c account for sprixel bytes emitted in new stat #1801 3 years ago
nick black 2f23409d97
finish out interp PoC #1796 3 years ago
nick black 091bc1e625
interp PoC #1796 3 years ago
nick black 6152f621ba
microoptimize extract_version() 3 years ago
nick black b2d04feffd
factor out extract_version(), get WezTerm version #1798 3 years ago
nick black d0889d3615
extract contour version from XTVERSION #1798 3 years ago
nick black 454d548650
extract XTerm version from XTVERSION #1798 3 years ago
nick black ed04cb72c5
termdesc: set up termversion #1798, print in banners 3 years ago
nick black 8d86fd3162 prep for DECRPM #1582 3 years ago
nick black 37aa8efd7c set the BSU/ESU escapes when detected in response to queries #1582 3 years ago
nick black 57e418284e add ESCAPE_BSU/ESU, clean up query_state #1582 3 years ago
nick black 878eebde0a kill unused tinfo fields BCEflag/AMflag 3 years ago
nick black 086ee695c1
terminfo: properly excise delays, preserving trailer #1688 3 years ago
nick black 204e1527d8
termdesc: no need to query Secondary Attributes 3 years ago
nick black e530a6d27a
tighten up notcurses-info output 3 years ago
nick black ff1d8b1249
tinfo_debug_caps: properly line up unicode 13 symbols 3 years ago
nick black 1bfb230553 add VisualFromRGBxPacked unit test 3 years ago
nick black c5542cbd1a add unit test VisualFromRGBPacked #1767 3 years ago
nick black d360cc1d1e ncvisual_from_rgb_{packed, loose}() #1767 3 years ago
nick black c8dfa17485
Set up sane logging for direct mode
All our diagnostic macros required a struct notcurses from
which to extract the loglevel. Eliminate this parameter,
and update all caller sites. Add a library-wide (but not
exported) loglevel variable, and set it from both
notcurses_core_init() and ncdirect_core_init(). Add two
new direct mode flags, NCDIRECT_OPTION_VERBOSE and
NCDIRECT_OPTION_VERY_VERBOSE, mapping them to
NCLOGLEVEL_WARNING and NCLOGLEVEL_INFO respectively.
Closes #1690.
3 years ago
nick black 350f531a5a
sexblitter: honor nointerpolate throughout #1763 3 years ago
nick black 048f2f5e77
handle nointerpolate in transparent sexblitter cell #1763 3 years ago
nick black 29f0243cbf
quadblitter: no interpolation with NCVISUAL_OPTIONS_NOINTERPOLATE #1763 3 years ago
nick black 534000cadb
clamp sixel height in update_term_dimensions() so ncdirect gets it #1789 3 years ago
nick black 50a304bada
Avoid drawing sixel to the bottom row
Sixels, unlike Kitties, can't be drawn to the bottom row,
lest we scroll. We were properly guarding against creation
of a sixel that touched the bottom row when creating the
plane within ncvisual_blit(), but not when we were provided
with a plane. This used to be fine because ncplayer cut the
plane off less one row, but when we enabled the bottom row
for Kitties, this ceased. We don't want to expose this wart
to userspace, so instead clamp sixel_maxy based off the screen
height when appropriate. Closes #1789.

1789?!?! Liberté, Egalité, Fraternité!
3 years ago
nick black fc390da020 invert DECSDM for terminals with sprixel_cursor_hack set #1782 3 years ago
nick black 574eef2e28 need to call sprite_init() from setup_sixel_bitmaps() 3 years ago
nick black 5e16208801
remove garbage CursesStyles unit test #1791 3 years ago
nick black 3cb537c3fc
only list sgr styles as supported if we have sgr #1791 3 years ago
nick black 32c34b1782
ncdirect_style_emit: return 0 when no sgr is defined #1791 3 years ago
nick black ce2b89552a
direct cursor tests require ncdirect_canget_cursor() #1790 3 years ago
nick black c9a338e0fd
add ncdirect_canget_cursor() #1790 3 years ago
nick black b50bab7880 remove unused function get_p2 from sixel.c 3 years ago
nick black 0bfef5b0ef
constify arguments to ncplane_notcurses/ncplane_pile 3 years ago
joseLuís 8f234368d8 make `ncplane_pixelgeom` require a const reference 3 years ago
nick black e0276bbfdb undercurl unit test #1758 3 years ago
nick black 562cf1c468 direct mode: support undercurl throughout #1758 3 years ago
nick black 5559bbbebe NCSTYLE_UNDERCURL #1758 3 years ago
nick black 04c3dcc463 tinfo_debug_caps: add some style work #1758 3 years ago
nick black bab79956cd
contour: adapt to new capabilities #1768 3 years ago
nick black 63e8d117dd
null media implementation: adapt to new capabilities struct #1768 3 years ago
nick black 0cfe426785 unify capabilites_canchangecolor #1768 3 years ago
nick black 912c897e67 ncdirect capabilites, all #1768 3 years ago
nick black 4aa702627a publicize nccapabilities structure, add ncdirect_capabilities() #1768 3 years ago
nick black 0e6f52533b introduce nccapabilites struct, move utf8/ccc therein #1768 3 years ago
nick black 7eedc7714d
recognize Contour via XTVERSION, and turn on quadrants/rgb for it #1781 3 years ago
nick black cf60ff5b94
don't restore bogon termios struct on setupterm failure #1778 3 years ago
nick black 9950d71e89
handle weird contour reply to CSI 11 #1780 3 years ago
nick black 7d0375f8e0
don't put on airs, "Colors" 3 years ago
nick black 8de306a899
more crap for notcurses_debug_caps() 3 years ago
nick black f8ca942d84 term_bg_rgb8: fix longstanding FIXME now that we detect the bg #1292 3 years ago