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