68 Commits

Author SHA1 Message Date
Mitchell Hashimoto
d8f43b34ba terminal: yeet usingnamespace 2024-08-16 10:32:43 -07:00
Mitchell Hashimoto
ccf62a4960 stylistic nitpicks 2024-08-10 11:03:56 -07:00
Jeffrey C. Ollie
ce5e55d4aa Implement the XTWINOPS (CSI t) control sequences that "make sense".
These sequences were implemented:

CSI 14 t - report the text area size in pixels
CSI 16 t - report the cell size in pixels
CSI 18 t - report the text area size in cells
CSI 21 t - report the window title

These sequences were not implemented because they manuipulate the window
state in ways that we do not want.

CSI 1 t
CSI 2 t
CSI 3 ; x ; y t
CSI 4 ; height ; width ; t
CSI 5 t
CSI 6 t
CSI 7 t
CSI 8 ; height ; width ; t
CSI 9 ; 0 t
CSI 9 ; 1 t
CSI 9 ; 2 t
CSI 9 ; 3 t
CSI 10 ; 0 t
CSI 10 ; 1 t
CSI 10 ; 2 t
CSI 24 t

These sequences were not implemented because they do not make sense in
a Wayland context:

CSI 11 t
CSI 13 t
CSI 14 ; 2 t

These sequences were not implemented because they provide information
about the screen that is unnecessary.

CSI 15 t
CSI 19 t

These sequences were not implemeted because Ghostty does not maintain an
icon title for windows.

CSI 20 t
CSI 22 ; 0 t
CSI 22 ; 1 t
CSI 23 ; 0 t
CSI 23 ; 1 t

These sequences were not implemented because of the additional
complexity of maintaining a stack of window titles.

CSI 22 ; 2 t
CSI 23 ; 2 t
2024-08-07 00:12:20 -05:00
Mitchell Hashimoto
8c3559ecff terminal: move tmux control mode parsing out to dedicated file 2024-07-12 09:49:59 -07:00
Mitchell Hashimoto
d1f41e2035 terminal: hyperlink start/end on screen 2024-07-05 21:39:55 -07:00
Mitchell Hashimoto
15b7a37cf9 terminal: export Coordinate 2024-04-25 19:07:10 -07:00
Mitchell Hashimoto
0bc831d19f terminal: relax grapheme integrity check for fast paths 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
d664840b7f terminal: add StringMap back 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
bca51ee771 terminal: selectionString takes a struct for opts 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
9015b7548f inspector: support cell pinning again 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
8ccc30da10 core: surface now tracks left click pin 2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
25d84d697a termio/exec: get compiler errors gone 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
9b4ab0e209 zig build test with renamed terminal package 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
0e62076f52 Revert "terminal: remove new import"
This reverts commit 7dbac298ff834ec927186891eed91974042e970d.
2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
a972a885ce terminal: remove new import 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
6b364f81c0 terminal: todo for paged-terminal 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
100e6ed254 terminal/new => terminal2 so we can figure out what depends on what 2024-03-22 20:27:36 -07:00
Mitchell Hashimoto
ff4a0fce7f terminal/new: add scrollViewport 2024-03-22 20:27:35 -07:00
Mitchell Hashimoto
7ad94caaeb bench/page-init 2024-03-22 20:27:19 -07:00
Mitchell Hashimoto
dc6de51472 terminal/new: add bench 2024-03-22 20:27:17 -07:00
Mitchell Hashimoto
a1c14d1859 terminal/new: print single lines of ascii chars lol 2024-03-22 20:27:17 -07:00
Mitchell Hashimoto
b5d7b0a87a terminal/new: lots of code thrown at the wall 2024-03-22 20:27:17 -07:00
Mitchell Hashimoto
1473b3edf2 terminal/new: PageList 2024-03-22 20:27:17 -07:00
Mitchell Hashimoto
1216603e68 terminal/new: Screen beginnings 2024-03-22 20:27:17 -07:00
Mitchell Hashimoto
18810f89f7 terminal: copy stdlib hash_map 2024-03-22 20:27:15 -07:00
Mitchell Hashimoto
be8745c70a terminal: bunch of junk for paged terminal 2024-03-22 20:27:14 -07:00
Mitchell Hashimoto
986fa34d3e terminal: remove unused const 2024-02-02 13:28:19 -08:00
Mitchell Hashimoto
3c26828a3f terminal: distinguish between DSRs with "?" and not 2024-02-02 12:42:22 -08:00
Mitchell Hashimoto
cf8763561d terminal: use comptime generated X11 lookup table from rgb.txt 2024-01-10 20:36:47 -08:00
Mitchell Hashimoto
aa86031ff6 terminal: move line searching here, unit test 2023-11-29 15:30:22 -08:00
Mitchell Hashimoto
a38220eade terminal: move sanitization check to this package, unit test 2023-11-04 11:19:25 -07:00
Mitchell Hashimoto
032fcee9ff terminal: DCS handler, XTGETTCAP parsing 2023-09-27 12:07:31 -07:00
Mitchell Hashimoto
2a390785f5 terminal: add protected mode flag to cursor pen 2023-09-25 10:56:57 -07:00
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