Mitchell Hashimoto
4a3e1e15e5
core: click to move cursor
2023-12-20 21:33:13 -08:00
Gregory Anders
bf06c05c09
termio: implement DECRQSS
...
Only SGR, DECSCUSR, DECSTBM, and DECSLRM are handled, as these are the
only ones that Ghostty supports (as far as I can tell) and are the only
ones that seem actually useful.
2023-12-14 17:26:53 -06:00
Mitchell Hashimoto
84a0e4e62d
terminal: support 58;5
for setting underline color via 256 palette
...
Fixes #1013
2023-12-07 14:57:07 -08:00
Mitchell Hashimoto
34cfe0abab
xterm audit: DECOM (origin mode)
2023-11-21 18:32:00 -08:00
Mitchell Hashimoto
fd84178cc7
terminal: switching alt/primary screen invalidates Kitty image state
2023-11-21 08:37:41 -08:00
Mitchell Hashimoto
3c98c6375a
terminal: handle width==3 glyphs by just pretending they're width 2
2023-11-20 19:55:06 -08:00
Mitchell Hashimoto
7066fb7bbb
terminal: ESC [ 2 J does a scroll and clear if viewport is at a prompt
2023-11-19 21:07:16 -08:00
Mitchell Hashimoto
39c2549b1a
terminal: add ESC [ 22 J (scroll and clear)
2023-11-19 20:45:57 -08:00
Krzysztof Wolicki
44a48f62f1
change unmodified var
s to const
s in anticipation of zig changes
2023-11-17 15:46:46 +01:00
Mitchell Hashimoto
f00c87e805
xterm audit: DECCOLM and 132COLS
2023-11-12 22:05:26 -08:00
Mitchell Hashimoto
53a5734d09
terminal: change mask from u256 to StaticBitSet
2023-11-09 15:14:33 -08:00
Gregory Anders
33753f59c8
core: implement OSC 104, 110, and 111 to reset colors
2023-11-09 16:17:21 -06:00
Mitchell Hashimoto
4781a83e4a
replace utf8proc with ziglyph
2023-11-07 13:17:56 -08:00
Mitchell Hashimoto
d20c4866b1
some comments, make switch exaustive
2023-11-06 14:42:10 -08:00
Tim Culverhouse
49fb5c8688
gtk(mouse): use "text" enum as default value
...
Use the .text field of the enum as the default value of the mouse shape
instead of renaming .default. Store the default value as the current
value for use in subsequent commits
2023-11-06 14:36:57 -08:00
Mitchell Hashimoto
069e16cb46
terminal: restore cursor should clamp x/y
2023-10-27 09:42:39 -07:00
Mitchell Hashimoto
0b6cbfa141
terminal: only clear spacer tail if exists
2023-10-27 09:14:53 -07:00
Mitchell Hashimoto
597f95120b
terminal: ECH minimum count is 1
2023-10-27 08:50:05 -07:00
Mitchell Hashimoto
3a77df7ce2
terminal: in mode 2027, do not attach any width=0 char unless grapheme
2023-10-27 08:23:43 -07:00
Mitchell Hashimoto
578dd730f9
terminal: CUB with reverse wrap on first row should not crash
2023-10-26 23:01:55 -07:00
Mitchell Hashimoto
ea1ef0641d
terminal: assertion should check x is on left margin
2023-10-26 22:52:12 -07:00
Mitchell Hashimoto
9c165ecbd2
terminal: clamp cursor left above scroll region with XTREVWRAP2
...
Fixes a crash found through fuzzing. This crash is also exhibited in
xterm (as of v384). The issue arises when you set the cursor above the top
scroll margin, then issue a large cursor left (CSI D) with extended reverse
wrap (?1045) set. Extended reverse wrap loops back until it reaches the top
scroll then wraps around. But since the cursor is before the top scroll,
xterm just arbitrarily moves back into negative row numbers, which reads into
bad memory.
We decided to fix this by clamping to (0,0) and exiting because this
will mimic the xterm behavior for valid values of cursor left count
(prior to crashing).
2023-10-26 22:38:33 -07:00
Mitchell Hashimoto
c1469eb7b2
inspector: track lots of metadata for vt events
2023-10-24 21:56:38 -07:00
Mitchell Hashimoto
aee05d9e99
terminal: deleteLines has to reset wrap state on blank lines
2023-10-24 12:50:06 -07:00
Mitchell Hashimoto
66d97ab5f3
terminal: do not attach grapheme to empty cell
2023-10-24 12:20:37 -07:00
Mitchell Hashimoto
1457bcec90
terminal: deleteCharacters should clear wide spacer tails if split
2023-10-24 12:10:41 -07:00
Mitchell Hashimoto
ec26cc4b41
terminal: insert blanks (ICH) with left/right and large count
2023-10-24 09:38:47 -07:00
Mitchell Hashimoto
e6a23be99a
terminal: cub with reverse mode on left margin
2023-10-24 09:26:34 -07:00
Mitchell Hashimoto
96d5ca3604
terminal: horizontal tab back should handle cursor already left margin
2023-10-24 08:45:07 -07:00
Mitchell Hashimoto
407bd6fb79
terminal: with mode 2027, vs16 must move cursor one more right
...
Fixes #680
2023-10-16 09:48:05 -07:00
Mitchell Hashimoto
12054087e1
terminal: scroll up full top/bottom region was off by one
...
Fixes #689
See test cases, verified with xterm.
2023-10-16 09:25:47 -07:00
Mitchell Hashimoto
06f7cfb398
terminal: save cursor and restore cursor xterm audit
2023-10-15 21:25:47 -07:00
Mitchell Hashimoto
59140f593b
terminal: VS16 should make a narrow char take up two cells in mode 2027
2023-10-14 10:43:50 -07:00
Mitchell Hashimoto
529d1f016f
terminal: when clearing previous wide character, preserve SGR state
2023-10-13 15:15:14 -07:00
Mitchell Hashimoto
880252fd1d
terminal: printing over wide spacer tail should clear wide char
2023-10-13 14:45:40 -07:00
Mitchell Hashimoto
5ce50d08a1
terminal: linefeed mode
2023-10-12 20:46:26 -07:00
Mitchell Hashimoto
89d2827910
terminal: insert mode tests, fix insertBlanks multi-cell char split
2023-10-12 19:24:27 -07:00
Mitchell Hashimoto
17430a1250
terminal: index handles left/right regions
2023-10-12 08:31:28 -07:00
Mitchell Hashimoto
f94f32be79
website
2023-10-11 22:01:37 -07:00
Mitchell Hashimoto
392da475e1
terminal: XTSHIFTESCAPE
2023-10-11 21:49:04 -07:00
Mitchell Hashimoto
96546af475
terminal: test REP
2023-10-11 17:23:27 -07:00
Mitchell Hashimoto
e593ffa264
terminal: default for right scroll margin was incorrect
2023-10-10 16:06:27 -07:00
Mitchell Hashimoto
a9fee348b6
terminal: print handles left/right margins
2023-10-10 15:41:31 -07:00
Mitchell Hashimoto
73ecb6f7ee
terminal: CUL handles left/right margins
2023-10-10 15:26:04 -07:00
Mitchell Hashimoto
fbc305c901
terminal: reverse index xterm audit
2023-10-10 15:15:53 -07:00
Mitchell Hashimoto
28b7329fe4
terminal: scroll down test
2023-10-10 14:22:05 -07:00
Mitchell Hashimoto
3cc0cbcc9d
terminal: SU, fix DL bug
2023-10-10 13:00:00 -07:00
Mitchell Hashimoto
f216609662
terminal: RIS should reset tabstops, ESC ? W should reset every 8
...
Fixes #648
Two issues here:
- RIS should've been resetting the tabstops to every 8, but was
clearing all tabstops.
- `ESC ? W` should've reset tabstops to every 8, but was clearing
all tabstops.
2023-10-10 09:02:22 -07:00
Mitchell Hashimoto
2354454907
terminal: set left and right margins, left and right margin mode 69
2023-10-09 21:20:15 -07:00
Mitchell Hashimoto
be99d8ffe1
terminal: decaln
2023-10-09 20:33:52 -07:00