Mitchell Hashimoto
2a390785f5
terminal: add protected mode flag to cursor pen
2023-09-25 10:56:57 -07:00
Mitchell Hashimoto
c8a07abdf3
terminal: ignore SOH/STX, bash sends this for some reason
2023-08-17 13:40:11 -07:00
Mitchell Hashimoto
951aa00c63
terminal: move to new modes struct
2023-08-15 11:30:33 -07:00
Mitchell Hashimoto
cea6f5f51d
terminal: parse mode 1039
2023-08-13 15:15:11 -07:00
Mitchell Hashimoto
4a384aa272
parse and respect mode 1036
2023-08-13 15:12:13 -07:00
Mitchell Hashimoto
66aa1d9be3
terminal: parse and handle set modify key format (ESC[>{a};{b}m)
2023-08-13 14:55:32 -07:00
Mitchell Hashimoto
d94474463b
terminal: handle set application keypad mode (both ESC and modes)
2023-08-13 14:55:32 -07:00
Mitchell Hashimoto
5c6d3c7df2
terminal: implement insert mode (mode = 4)
2023-08-07 07:44:13 -07:00
Mitchell Hashimoto
b1af02941a
terminal: implement focus event mode 1004
...
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-FocusIn_FocusOut
2023-03-20 15:20:14 -07:00
Mitchell Hashimoto
1b88f7e9ab
support mouse alt scroll (mode 1007)
...
This enables less and other older legacy programs to get mouse scroll
events
2023-03-17 19:10:08 -07:00
Mitchell Hashimoto
36c6e95dfc
terminal: ignore invalid C0 escape codes
2022-12-14 20:57:31 -08:00
Mitchell Hashimoto
b8832833cb
respect application cursor keys for arrow (DECCKM)
...
This fixes the arrow keys in htop.
2022-11-27 20:57:58 -08:00
Mitchell Hashimoto
fe6ba02709
sgr pixels mouse report format
2022-08-26 14:59:44 -07:00
Mitchell Hashimoto
1039ad76bf
urxvt reporting format
2022-08-26 14:57:35 -07:00
Mitchell Hashimoto
f551c0ef66
SGR reporting
2022-08-26 14:55:18 -07:00
Mitchell Hashimoto
b46fe522d5
UTF-8 mouse reporting
2022-08-26 14:42:20 -07:00
Mitchell Hashimoto
ab305add6c
any event mouse tracking
2022-08-26 14:26:42 -07:00
Mitchell Hashimoto
9aa5378ffa
Track/cache button state and mods state
2022-08-26 13:55:24 -07:00
Mitchell Hashimoto
3096b32f13
mouse normal events in x10 format
2022-08-26 12:17:58 -07:00
Mitchell Hashimoto
93f45af41b
X10 click-only mouse reporting
2022-08-26 12:04:54 -07:00
Mitchell Hashimoto
e163e4962b
refactor cursor implementation, implement cursor visible (mode 25)
...
This cleans up a ton of state management around cursor styles,
visibility, blinking, etc. This was long in the tooth and when I was
trying to implement mode 25 I realized it was impossible with the
spaghetti mess I had. This made it really clean.
With this refactor, the Window keeps the "terminal_cursor" field the
proper state, and the render callback properly updates the gpu cells for
the cursor settings.
This also implements mode 25 (cursor visible) which makes neovim not
"flash" when vertically scrolling a vertical split. Neovim does some
cursor stuff but while doing so hides the cursor. This now respects
that.
2022-08-03 21:39:42 -07:00
Mitchell Hashimoto
40cec18943
implement DECSASD by just blackholing the output for now
...
We don't want to support status lines, and if anything sends us status
line information we don't want it to mess up the main display, so just
drop it.
2022-08-02 11:03:01 -07:00
Mitchell Hashimoto
d672bedec7
alternate screen buffer (mode 1049) now supported
2022-07-22 13:36:16 -07:00
Mitchell Hashimoto
5606bec8b8
add constants for 132 col mode but don't implement
2022-07-08 17:49:09 -07:00
Mitchell Hashimoto
4b6968e0d1
enable/disable autowrap
2022-07-08 17:43:52 -07:00
Mitchell Hashimoto
fae36f4e65
reverse colors
2022-06-26 11:56:15 -07:00
Mitchell Hashimoto
96d2de8f60
enq and cursor report with origin mode
2022-06-25 11:04:48 -07:00
Mitchell Hashimoto
fb6800c8ce
handle SO/SI but don't do anything yet (just don't crash)
2022-06-25 10:06:40 -07:00
Mitchell Hashimoto
4d2d4322f4
implement VT
2022-06-24 18:00:42 -07:00
Mitchell Hashimoto
00a9987cd9
bracketed paste
2022-05-20 16:01:57 -07:00
Mitchell Hashimoto
3538e6782b
update cursor on request from shell
2022-05-20 13:51:18 -07:00
Mitchell Hashimoto
37f621bc19
plumb CSI to set cursor style, but haven't implemented any styles
2022-05-19 21:43:30 -07:00
Mitchell Hashimoto
fd747ce274
implement device status request
2022-05-19 20:39:12 -07:00
Mitchell Hashimoto
d5858dd0cd
respond to ESC [ c for primary attributes
2022-05-15 20:04:14 -07:00
Mitchell Hashimoto
b2d02a77cd
terminal stream set mode and reset mode
2022-05-11 10:02:32 -07:00
Mitchell Hashimoto
6f66a0dbeb
parse SGR really poorly
2022-05-09 10:02:23 -07:00
Mitchell Hashimoto
8e907a3522
terminal: pass intermediates through to CSI, ignore NUL
2022-05-08 15:02:24 -07:00
Mitchell Hashimoto
3857e7f519
don't crash on htab, but its not implemented yet
2022-04-27 09:30:39 -07:00
Mitchell Hashimoto
2767f19ced
bell doesn't crash
2022-04-27 09:12:23 -07:00
Mitchell Hashimoto
753a946fd5
terminal: C0.BS
2022-04-18 12:35:15 -07:00
Mitchell Hashimoto
fc8bd859db
terminal: writing strings and multiline strings starting to work
2022-04-18 12:21:50 -07:00