Commit Graph

5664 Commits (master)

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