nick black
7fdd0e5b4d
[sixel] safe, reliable worker engine #2573
2 years ago
nick black
5d3266ce33
[sixel] widen check in auxvec_idx()
2 years ago
nick black
d6056c77fb
[sixel] need a broadcast to bring out all workers #2573
2 years ago
nick black
481871fc69
[sixel] thread on bands #2573
2 years ago
nick black
403ae965fa
[sixel] queue + engine #2537
2 years ago
nick black
b6d01be757
[sixel] pass down cellpixel parameters to write_auxvec() #2573
2 years ago
nick black
f040d14e6b
[sixel] implement auxvec_idx()
2 years ago
nick black
8194a452db
[sixel] drop sixeltable type/intermediary
2 years ago
nick black
0eec4cf310
[sixel] restructure rebuild to look like wipe #2573
2 years ago
nick black
9c080ba153
[sixel] don't duplicate calls to write_rle() #2537
2 years ago
nick black
2ff212446d
[sixel] wipe fix for cell heights not multiples of 6
2 years ago
nick black
0624112050
[sixel] wiping now works perfectly #2573
2 years ago
nick black
776dbff79d
[sixels] factor out write_rle()
2 years ago
nick black
aad1aba832
[sixel] fix last band
2 years ago
nick black
470304919e
[sixel] kill memory leak in bandbuilder
2 years ago
nick black
1f316470e1
[sixels] simplify build_sixel_band()
2 years ago
nick black
6777c93f8a
[sixel] take a stab at sixel_wipe()
2 years ago
nick black
85dc76c465
[sixel] wipe_band()
2 years ago
nick black
254b0bcf36
[sixel] logpanic on internal error
2 years ago
nick black
51f16ecc57
[sixel] replace constant vfprintf()s with direct writes #2573
2 years ago
nick black
f96713d18f
[sixel] sparse band extension #2573
2 years ago
nick black
abbf36304d
[sixel] sparse data table + gather encoding #2573
2 years ago
nick black
8c1ec8a835
[termdesc] initialize kittykbd to 0 in initctx
2 years ago
nick black
3e94ac02f2
update FFI #2591
2 years ago
nick black
f95e21ebd2
[demo] only reject NCTYPE_RELEASE for non-mouse events #2582
2 years ago
nick black
706c887200
[ncsixel_as_rgba] interpret sixel RLE of 0 as 1
2 years ago
nick black
779386abe1
send no DECSDM to unknown terminals #2587
2 years ago
nick black
e261023321
[sixel] absorb write_sixel() into sixel_blit_inner() #2573
2 years ago
nick black
5990c6921c
[sixel] don't write payload on initial blit, wait for sixel_reblit #2573
2 years ago
nick black
475b18bd26
[sixel_reblit] use new fbuf_chop to avoid copies #2573
2 years ago
nick black
91183e6044
[sixel] move ctable to qstate so it's immediately free()d #2573
2 years ago
nick black
601a87eb04
[sixel] tighten up arguments using qs #2573
2 years ago
nick black
2f4a13157b
[sixel] tighten up build_data_table, prep for interleave #2573
2 years ago
nick black
3806a08b4d
[sixel] don't examine sixel overhead for rgb data #2585
2 years ago
nick black
129546f294
[sixel] further simplify extract_cell_color_table()
2 years ago
nick black
44bc265565
[sixel] streamline extract core
2 years ago
nick black
fb3e4b3820
[sixel] unify all context in the qstate object, factor out extract_cell_color_table() #2573
2 years ago
nick black
4aae5787de
[ncplane_scrollup_child] test for descendance, not immediate parenthood
2 years ago
nick black
46fd9317e5
notcurses-input: use getopt, no mice with -m #2579
2 years ago
nick black
47c42cf172
consider kitty keyboard events PRESS by default
...
Whenever we get a keyboard event while using the Kitty
keyboard protocol (used by kitty and foot), unless there
is an explicit evtype provided, assume it to be a press.
We already did this for kitty-only types, but we need do
it for all possible inputs. Closes #2578 .
2 years ago
nick black
b7bab3ca6d
notcurses-input: document new -m option #2579
2 years ago
nick black
73224f03e9
mark write_sixel() inline
2 years ago
nick black
d73f89e9a1
[sixel] cut actionmap from a byte per to a bit #2573
2 years ago
nick black
1c52377e08
sixel action table #2573
...
For each color, for each sixel row, stash a bit
when loading the data table into the new vector
"action". If this is low upon hitting
write_sixel_payload, we can skip the color for
that sixelrow. A pretty consistent 10% win on
complex images; a negligible loss on small ones.
2 years ago
nick black
afd8a54a89
[sixel] kill unused preprocess_cell()
2 years ago
nick black
e457eeb60d
[extract_color_table] work per-cell, facilitating parallelism #2573
2 years ago
nick black
b9f8f0a9c0
[sixel] use cell geometry calculated in visual layer #2575
2 years ago
nick black
1be2cf1b94
[sixel] stop tracking unused value pos
2 years ago
nick black
ffca3de583
[sixel] rmatrix is per-cell, not per-pixel
2 years ago
nick black
1dee3c9a43
[sixel] start xforming extract_color_table() to cell-based #2573
2 years ago
nick black
b629fb3315
declare preprocess_cell, our kernel for multithreaded quantization #2573
2 years ago
nick black
23bf9346b4
[sixel] throw up and reap worker threads #2573
2 years ago
nick black
82921e2f0d
[shutdown] free the terminfo cache (and input) earlier
2 years ago
nick black
1af32a63a6
[plane] safe ncplane_set_channels()/ncplane_channels()
2 years ago
nick black
f842e74f20
[ncplane] restore ncplane_set_[fb]channel
2 years ago
nick black
e33cb62de9
[ncplanes] remove ncplane_set_[bf]channel() #2571
2 years ago
nick black
3e8e11e7c5
[termdesc] identify Konsole by TDA of ~KDE #2556
2 years ago
nick black
514ee9892c
Merge branch 'master' of github.com:dankamongmen/notcurses
2 years ago
nick black
8d3eb96508
[termdesc] don't send OSC 4 palette queries to linux yet #2561
2 years ago
nick black
cbd5db20c7
[freebsd] don't shadow global termname() ident ugh
2 years ago
nick black
bc4bee8afc
[sixel] kill obsolete FIXME
2 years ago
nick black
a6fc8f08ee
[rasterize_core] pass margin-adjusted location to sprixel_invalidate #2546
2 years ago
nick black
89e9be0b3c
[info] use gradient based on the detected palette #2568
2 years ago
nick black
1754451cf9
[heuristics] break up apply_term_heuristics into per-term functors #2563
2 years ago
nick black
337b1bc52c
[automaton] deinline some large functions, saves ~14KB of text #2563
2 years ago
nick black
1e7164926a
[termdesc] dynamically generate palette queries #2563 #2561
2 years ago
nick black
437f24c92c
[termdesc] don't duplicate query defs, saves ~10KB of object size
2 years ago
nick black
2c20769cc7
[termdesc] add FIXME to palette query about color count
2 years ago
nick black
3322125d69
[tty_emit] motivating comment #2558
2 years ago
nick black
f1f9de718a
[create_inputctx] set coutstanding only if we issued queries #2558
2 years ago
nick black
96c1d190ef
[read_input_nblock] treat permanent failure reading as EOF #2558
2 years ago
nick black
fb61736142
[cursor_yx_get] propogate return from get_cursor_location #2558
2 years ago
nick black
792dbf9a59
[get_cursor_location] unlock on error path, erp #2558
2 years ago
nick black
285aa9d92a
[termdesc] factor out handle_responses()
2 years ago
nick black
b51fa64150
[PoCs] use modifier accessors
2 years ago
nick black
379b02c5cf
ncplayer: use modifier accessors
2 years ago
nick black
6472327dbf
[demo] no need to check for ctrl on lowercase
2 years ago
nick black
683c6ff6d8
[readline] use modifier accessors for shortcuts
2 years ago
nick black
1c10ee614c
[reader] use modifier accessors
2 years ago
nick black
fbdbf03037
[notcurses-input] use modifier accessors
2 years ago
nick black
cc5d3b55c2
[ncdirect_readline] properly check for EOF (capital D) #2558
2 years ago
nick black
05a5b64339
[input] check for output availability in process_bulk() #2548
2 years ago
nick black
23b3308c7a
[info] don't stain the emoji line
2 years ago
nick black
e7fa7b452f
move process_input() normalizations to load_ncinput()
2 years ago
nick black
7e46e5fbe4
some subtle input changes
...
When CapsLock is detected, and we're working with
ASCII input, capitalize it, just as we do with
Shift or Ctrl. Don't consider CapsLock or NumLock
for ncinput_equals_p(). Closes #2555 .
2 years ago
nick black
15e2c6eb12
[ncinput_equals] consider UNKNOWN == PRESS #2554
2 years ago
nick black
06d61b9025
[ncmenu] use modifiers in all ncmenu_sections
2 years ago
nick black
a7a47f8e0c
[kitty] add support for capslock, numlock, hyper, and super #2553
2 years ago
nick black
1f7f1a8e50
[kitty] handle hyper, capslock, numlock #2553
2 years ago
nick black
d72ef9fd8b
[banners] tighten up bitmap stat line
2 years ago
nick black
5b15703fa9
notcurses-demo: stop trying to read after NCKEY_EOF #2547
2 years ago
nick black
678273aaf5
[unittests] free up ncsixel_as_rgba() results
2 years ago
nick black
02cdc6c65d
[input] reject pixelmouse event if we don't have pixel info
2 years ago
nick black
509595f0e0
[sixel] goto valerr on value error
2 years ago
nick black
cae41c3a1a
[sixel] kill dead store
2 years ago
nick black
2eaf502870
plug memory leaks in bitmapstates PoC
2 years ago
nick black
36a156a2b7
[input] reject invalid XTGETTCAP bytes (see contour #582 )
2 years ago
nick black
85895ac405
[sixel] factor out choose()
2 years ago
nick black
da98a3e858
don't run merge if we needn't #2516
2 years ago
nick black
38e7f36efc
merge! #2516
2 years ago
nick black
f62ea3b344
[sixels] lift all logic into choose_alternate_color() #2516
2 years ago
nick black
32ddd6247b
[sixels] factor out choose_alternate_color #2516
2 years ago
nick black
58fe88bad1
[gettcap] fold down control sequence responses #2541
2 years ago
nick black
3d2c1ed840
[automaton] handle negative XTGETTCAP #2544
2 years ago
nick black
c0a20fdc3c
[input] handle multiple XTGETTCAP returns
2 years ago
nick black
4a3b70ddc2
[terminfo] prefer XTGETTCAP to terminfo for HPA #2541
2 years ago
nick black
5806aa6864
[tinfo] factor out do_terminfo_lookups()
2 years ago
nick black
2584435efc
[kitty] treat absent event type as NCTYPE_PRESS #2527
2 years ago
nick black
1af9b16276
[sixel] restrict to 99, but use true 100 scale for accuracy
2 years ago
nick black
db6b5af77a
[automaton] handle broken contour palette replies #2539
2 years ago
nick black
949925e1f7
[input] drive process_ncinput() through load_ncinput() #2216
2 years ago
nick black
f7dd724942
[input] synthesize ctrl+c and friends for all inputs #2537
2 years ago
nick black
457da57ca6
[sixel] qlinks are one-biased
2 years ago
nick black
2550b09ab3
[pixelmouse] break response down for 1016 #2326
2 years ago
nick black
d0f75018a7
[input] break out pixelmouse_click() #2326
2 years ago
nick black
2dd0415298
[term] use DECRQM 1016 to detect pixelmice #2326
2 years ago
nick black
b026c624a0
[reel] put legend on its own plane so as not to leak to other demos #2535
2 years ago
nick black
3375e9061c
[sixel] comment on requirement of 8 free qnodes per onode
2 years ago
nick black
7abf93e166
[sixel] properly allocate onodes
2 years ago
nick black
bf9184a41d
[sixel] decatree #2515
2 years ago
nick black
ea08cd92ba
add meta modifier handling #2522
...
Handle Meta modifier in Kitty and XTMODKEYS. Add Meta
indicator to notcurses-input. Update man page. Add
NCKEY_META_{SHIFT, CTRL, ALT, META} constants. Add
"modifiers" field to ncinput struct. Add inline
functions for testing modifiers. Remove special-casing
in Kitty protocol that capitalized all lowercase ASCII
when ctrl was pressed; we don't do this for XTMODKEYS.
2 years ago
nick black
8db6f9dc7b
[automaton] add extended XTMODKEYS modifiers #2518
2 years ago
nick black
6680550fab
[sixel] fix octree initial membership test
2 years ago
nick black
766461dd7d
[sixel] browse through to subtree
2 years ago
nick black
fc447ac889
[sixel] zero out qlink on dynnode
2 years ago
nick black
df91593931
[sixel] finish out octrees #2515
2 years ago
nick black
cbe9294c41
[mice] if pixelmice is set, use 1016 #2326
2 years ago
nick black
6b461c89cf
report pixel mice capabilities in notcurses-info #2326
2 years ago
nick black
5cb5e890dc
[input] always capitalize when shift is held
2 years ago
nick black
6a51c470b2
[sixel] fix memory leak in color extraction
2 years ago
nick black
de02ceed91
[load_ncinput] always capitalize ASCII when Ctrl is used
2 years ago
nick black
92bda51996
[cmake] -v on failing notcurses-input runs
2 years ago
nick black
483985e9aa
[drone] try and get some useful logs
2 years ago
nick black
4bccb59732
Post to the readyness fd for EOF
...
When we get to the EOF on stdin, we need account for that
with the readiness fd. Post to it upon the EOF transition.
Closes #2525 .
2 years ago
nick black
28cd88f6d4
[input] don't queue further terminal input following stdineof #2525
2 years ago
nick black
27b5d38ea1
don't use sigaltstack() with USE_ASAN #2529
2 years ago
nick black
59eb7dd18b
[XTMODKEYS] undo with m, not n #2526
2 years ago
nick black
5de0a24fe6
[automaton] handle iTerm2 xtsmgraphics failure #2531
2 years ago
nick black
0c007078f0
kill some signed-vs-unsigneds
2 years ago
nick black
91a8d85707
[automaton] combine modifiers
2 years ago
nick black
4b49cb4592
add meta modifier handling #2522
...
Handle Meta modifier in Kitty and XTMODKEYS. Add Meta
indicator to notcurses-input. Update man page. Add
NCKEY_META_{SHIFT, CTRL, ALT, META} constants. Add
"modifiers" field to ncinput struct. Add inline
functions for testing modifiers. Remove special-casing
in Kitty protocol that capitalized all lowercase ASCII
when ctrl was pressed; we don't do this for XTMODKEYS.
2 years ago
nick black
efddf0b496
[automaton] add extended XTMODKEYS modifiers #2518
2 years ago
nick black
d44c37d717
terminology now supports XTVERSION, good for them
2 years ago
nick black
5d9f66f48b
[quantanal] work on scaled images
2 years ago
nick black
c876ef18a5
[sixels] stretch in unit test to work on all geometries
2 years ago
nick black
6f36efd80a
[xtmodkeys] step up to 4;2, and define all modifiers #2518
2 years ago
nick black
ecee3f1bd8
[automaton] handle XTSMGRAPHICS failures #2517
2 years ago
nick black
f133462429
[enter_alternate_screen] pop the keyboard state #2509
2 years ago
nick black
03160d902d
[termdesc] don't enable sixel graphics with 0 color registers
2 years ago
nick black
dba86c72f0
[tests] is this just some ncdirect problem
2 years ago