Commit Graph

7254 Commits

Author SHA1 Message Date
nick black
d6a91fb99f
menu PoC: ignore NCTYPE_RELEASE 2021-10-16 02:43:36 -04:00
nick black
4fc1b4493f
stop pushing termtype to interrogate_terminfo 2021-10-16 02:32:04 -04:00
nick black
ec67847806
[ncplayer] restore pause functionality with NCTYPE_RELEASE 2021-10-16 02:03:01 -04:00
joseLuís
1e1d1bb631 constify ncselector_item reference fix #2270 2021-10-14 18:14:05 +02:00
joseLuís
383edaece1 remove poc for issue #2266 2021-10-14 12:38:21 +02:00
nick black
fb2078daa6
drop textplay PoC 2021-10-14 05:12:30 -04:00
nick black
b87d8f15f7
[info] expand some emoji into proper literals 2021-10-14 03:45:05 -04:00
nick black
f05f65dc80
notcurses-demo FPS graph: back to straight seconds 2021-10-14 03:32:20 -04:00
nick black
99169aea42
tabbed janitorial work
clean up memory leak of tab names
ignore NCTYPE_RELEASE in tabbed PoC
constify strings in nctabbed_options
2021-10-14 03:26:15 -04:00
nick black
b0b4c965a5 for now, if it's on windows, it's windows terminal #2248 2021-10-14 00:12:43 -04:00
nick black
245f9f85c7
Use Windows pipes for input readiness notification (#2263)
* [windows] use CreatePipe for input #2244
* [input] read and write to Windows readiness handles #2244
* inputready_fd: not on windows, alas
2021-10-14 00:02:18 -04:00
nick black
abea3f9064
constify ncmenu_item/_section strings 2021-10-13 20:38:21 -04:00
nick black
2015e8ffc9
Constify strings in selector/mselector_items
Use internal types to track items within the
selector/mselector widgets, rather than pressing the
user-provided item structs into double-duty. With this
change, we can constify the strings within those
user-provided items. Do so, also removing the internal-side
elements. Update documentation. Closes #2267.
2021-10-13 19:19:43 -04:00
nick black
1152e2c318
ncselector_options: constify string arguments 2021-10-13 18:38:10 -04:00
nick black
d82cc8e6f7
interp PoC: clean up ncvisual #2266 2021-10-13 11:18:49 -04:00
nick black
939d54d6a8
contour: enable sextants 2021-10-13 09:42:24 -04:00
joseLuís
b2d745834c add minimal example for #2266 2021-10-13 12:00:43 +02:00
nick black
febaff364b
[BitmapSmoothMove] only WARN in test until sixel supports this #2258 2021-10-12 07:38:39 -04:00
nick black
b8a66fed12
[heuristics] GNU screen 4x never has rgb 2021-10-12 00:57:09 -04:00
nick black
b9fa29247a
[automaton] detect GNU screen + version #2261 2021-10-11 19:05:50 -04:00
nick black
2f2f75ed49
[automaton] match vt101/vt100/vt132 explicitly #2260 2021-10-11 18:37:24 -04:00
nick black
e7e6302391
[uniblocks] don't bail on bad unicode 2021-10-11 03:39:50 -04:00
nick black
ccad129fc2 smooth pixel motion #1682 2021-10-11 03:28:34 -04:00
nick black
676b92187b [tests] tighten up movement in BitmapSmoothMove #1682 2021-10-11 03:28:34 -04:00
nick black
80d968a52e sprixel_load: diagnostic on failure 2021-10-11 03:28:34 -04:00
nick black
56fffba757 [kitty] pass pixel offsets through to sprixel_load() #1682 2021-10-11 03:28:34 -04:00
nick black
9b0bf6af23 BitmapSmoothMove unit test #1682 2021-10-11 03:28:34 -04:00
nick black
8ac0791470 [smoothpixel] check that pixel offsets are within cell geometry bounds #1682 2021-10-11 03:28:34 -04:00
nick black
b42b866189 initial support for pixel offsets
Add pixel offset fields to blitterargs in the pixel
portion of the union. Check in blitter_geom that
pixel offsets are not used with cell blitting.
Prepare the new blitterargs fields. Account for pixel
offsets when calculating cell geometry #1682.
2021-10-11 03:28:34 -04:00
nick black
ba10390e1e
wcstombs -> wcsrtombs in ncplane_putwstr_yx() 2021-10-11 02:45:21 -04:00
nick black
40dacc3f4e
[DA1] restore comments about VT101, VT100, VT132 2021-10-11 00:19:39 -04:00
nick black
f44799e226
[automaton] require Sixel in DA1, unless it's snowflake alacritty #2257 2021-10-11 00:16:01 -04:00
nick black
091646dc47
name 3.0.0 2021-10-10 22:04:36 -04:00
nick black
39ccdbfcb6
[load_ncinput] send synthesized signal even when draining 2021-10-10 22:03:41 -04:00
nick black
41cf28b775
[NCPP] restore Visual::subtitle() 2021-10-10 20:49:00 -04:00
nick black
66d8eab7b7
[direct_stop] call del_curterm when not on windows 2021-10-10 18:58:08 -04:00
nick black
36e9ab510d
[direct] allocate TAM when rendering images #2254 2021-10-10 18:53:48 -04:00
nick black
a20ee4c75b
[automaton] extract older XTerm versions #2252 2021-10-10 17:25:32 -04:00
nick black
4b89bf2a1a
[automaton] match old XTerm via DA2 #2252 2021-10-10 17:25:25 -04:00
nick black
f5ec1406fe
[uniblocks] fill in background in chunk 2021-10-09 11:15:15 -04:00
nick black
368d32e337
[xterm] fix DECSDM version check for xterm before 357 #2252 2021-10-09 11:11:37 -04:00
nick black
2148bcc4f2
Revert "[nckeys] move from PUA-B to 'plane 18' #2247"
This reverts commit e83f1f5ba3.
2021-10-09 11:07:26 -04:00
nick black
e83f1f5ba3
[nckeys] move from PUA-B to 'plane 18' #2247 2021-10-09 11:06:51 -04:00
nick black
7088f4a767 [NEWS] note about DA1 feature 4 #2229 2021-10-09 09:58:28 -04:00
nick black
4df2cab5a2 [automaton] enable 256-creg sixel when DA1 advertises feature 4 #2229 2021-10-09 09:58:28 -04:00
nick black
98884e21a6 [automaton] fold down DA1 rules, extract attrs #2229 2021-10-09 09:58:28 -04:00
nick black
69c2ae3ba0 Pop keyboard stack if we crash in initialization
if we crash while detecting kitty keyboard support, we
currently don't pop the keyboard state. since we set our
desired state before detecting support, this could leave
the terminal in an invalid state. now, we initialize
kbdlevel to UINT_MAX before detection, so that in a crash,
the pop always happens. we reset it at the end of
interrogation, assuming we didn't load it from a query
response. the downside is that a terminal which doesn't
consume this sequence will get hit with it in a crash, but
we're already crashing, so who cares? leaving the terminal
in an invalid state, however, is very annoying.
2021-10-09 09:58:28 -04:00
nick black
5b5e97033d [sprixel] unite TAM allocation/resize path #2240 2021-10-09 07:50:00 -04:00
nick black
4336aec7d5 [workflows] windows: run ninja install 2021-10-09 07:50:00 -04:00
nick black
0c7a4b3ac6 [kitty] keyboard sanity across screens
A Notcurses program might shift between the regular and
alternate screen freely. At all times, we want the Kitty
keyboard protocol to be locked in. At the same time, we
always want a screen's keyboard state at the time we start
using it preserved, and restored when we're done. Thus:

start: optionally smcup, push the state, set the state, query
leave alternate: pop state, rmcup, push state, set state
enter alternate: pop state, smcup, push state, set state
done: pop state, optionally rmcup

"set state" means both XTMODKEYS and kitty set.

Closes #2249
2021-10-09 06:38:56 -04:00