35 Commits

Author SHA1 Message Date
Mitchell Hashimoto
19ef4a22a9 terminal: stylistic changes for OSC terminators, 10/11 params 2023-09-14 13:12:41 -07:00
Mitchell Hashimoto
cb2931cb27 rename cursor shape to mouse shape for OSC 22 2023-09-14 11:12:17 -07:00
Mitchell Hashimoto
7734bab8c4 terminal: cursor shape parsing, hook up to apprt callback 2023-09-14 10:12:38 -07:00
Mitchell Hashimoto
d9cfd00e9f Big Cursor State Refactor
This makes a few major changes:

  - cursor style on terminal is single source of stylistic truth
  - cursor style is split between style and style request
  - cursor blinking is handled by the renderer thread
  - cursor style/visibility is no longer stored as persistent state on
    renderers
  - cursor style computation is extracted to be shared by all renderers
  - mode 12 "cursor_blinking" is now source of truth on whether blinking
    is enabled or not
  - CSI q and mode 12 are synced like xterm
2023-09-09 20:19:37 -07:00
Mitchell Hashimoto
824d586afc terminal: generalized APC handler 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
c80b1bed75 terminal: add Kitty key flags, stack 2023-08-16 17:31:04 -07:00
Mitchell Hashimoto
951aa00c63 terminal: move to new modes struct 2023-08-15 11:30:33 -07:00
Mitchell Hashimoto
e467a48df0 terminal: working on new modes storage abstraction 2023-08-15 08:43:24 -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
10f708ee65 wasm: export terminal core API 2022-12-05 21:27:20 -08:00
Mitchell Hashimoto
30a14d230e process ASCII events manually to avoid function call overhead 2022-09-01 17:53:40 -07:00
Mitchell Hashimoto
77c8ec0a20 the big screen switchover 2022-09-01 00:58:47 -07:00
Mitchell Hashimoto
19b46b6084 starting the new screen implementation 2022-08-30 16:39:49 -07:00
Mitchell Hashimoto
f2af0983cf dedicated circular buffer 2022-08-30 16:35:44 -07:00
Mitchell Hashimoto
bee82d58dc Shift Out/Shift In (invoke charset into GL) 2022-08-27 10:08:01 -07:00
Mitchell Hashimoto
7626f194e9 basic charset mapping, support configuration, print tests 2022-08-27 09:42:05 -07:00
Mitchell Hashimoto
40ca2a69fb starting charset tables 2022-08-26 20:00:25 -07:00
Mitchell Hashimoto
ead6e5a435 src/terminal can build into a minimal wasm library, I think 2022-08-17 12:25:53 -07:00
Mitchell Hashimoto
40161a9eff track mouse state, setup selection state on cursor move with click 2022-08-04 14:21:40 -07:00
Mitchell Hashimoto
974138378b introducing dedicated point types 2022-08-04 13:04:42 -07:00
Mitchell Hashimoto
8facf9b942 terminal: add Selection struct 2022-08-04 11:44:36 -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
090e580cc7 setting and clearing tab stops 2022-06-24 18:15:14 -07:00
Mitchell Hashimoto
2a657d1ec9 screen: row copy 2022-05-21 16:04:18 -07:00
Mitchell Hashimoto
7de79d1f2b starting new screen 2022-05-21 10:38:19 -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
31d019da9e terminal: color palette structure and generation 2022-05-19 21:21:52 -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
5743d2a232 terminal sgr attribute parsing 2022-05-11 21:40:54 -07:00
Mitchell Hashimoto
df7e91a5e5 hook up setMode 2022-05-11 10:07:33 -07:00
Mitchell Hashimoto
e26352529e move stream handling into the Window 2022-05-10 19:31:32 -07:00
Mitchell Hashimoto
bc7b3a0996 terminal: start pulling out stream processing into dedicated type 2022-05-10 19:01:32 -07:00
Mitchell Hashimoto
de7d950052 terminal: move tests into main 2022-05-10 14:40:37 -07:00
Mitchell Hashimoto
cbd6505d25 terminal: scrolling 2022-04-28 21:18:27 -07:00