282 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f07e21c22e remove libuv from build 2023-02-04 17:37:51 -08:00
Mitchell Hashimoto
7e6a86f065 termio: use libxev (with TODOs) 2023-02-04 11:47:51 -08:00
Mitchell Hashimoto
1273527048 renderer uses libxev
Still some bugs and TODOs, but it is workable.
2023-02-01 15:52:22 -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
acdbdfbe3f macOS should launch shell as a login shell 2022-11-21 15:57:51 -08:00
Mitchell Hashimoto
56de5846f4 OSC 52: Clipboard Control (#52)
This adds support for OSC 52 -- applications can read/write the clipboard. Due to the security risk of this, the default configuration allows for writing but _not reading_. This is configurable using two new settings: `clipboard-read` and `clipboard-write` (both booleans).
2022-11-21 15:12:00 -08:00
Mitchell Hashimoto
01573819ea Configurable 256 Color Palette (#50)
The 256 color palette can now be configured with the `palette=N=HEX` format in the config. Example, Dracula:

```
foreground=#f8f8f2
background=#282a36
palette=0=#21222c
palette=8=#6272a4
palette=1=#ff5555
palette=9=#ff6e6e
palette=2=#50fa7b
palette=10=#69ff94
palette=3=#f1fa8c
palette=11=#ffffa5
palette=4=#bd93f9
palette=12=#d6acff
palette=5=#ff79c6
palette=13=#ff92df
palette=6=#8be9fd
palette=14=#a4ffff
palette=7=#f8f8f2
palette=15=#ffffff
```
2022-11-20 15:25:51 -08:00
Mitchell Hashimoto
4521efb83d move screen resize to a renderer mailbox message 2022-11-17 13:55:04 -08:00
Mitchell Hashimoto
465b4df6ea fix tests for WNOHANG commit 2022-11-16 21:04:31 -08:00
Mitchell Hashimoto
78fbf9cb06 remove stage1 workarounds 2022-11-15 13:19:01 -08:00
Mitchell Hashimoto
860fbc3aee padding needs to be sent to termio 2022-11-14 17:25:35 -08:00
Mitchell Hashimoto
4ced2290b3 OSC handling, handle OSC change window title command 2022-11-14 10:46:40 -08:00
Mitchell Hashimoto
ad203db6e4 set COLORTERM -- macOS uses this for emoji 2022-11-14 10:00:38 -08:00
Mitchell Hashimoto
99224ae2c0 implement CSI ESC [ <n> b for repeating previously printed char 2022-11-13 22:07:40 -08:00
Mitchell Hashimoto
d1718e6cbf use libc memcpy/memmove instead of std.mem if available 2022-11-08 19:01:45 -08:00
Mitchell Hashimoto
73c4395fc2 add more traces 2022-11-07 07:59:47 -08:00
Mitchell Hashimoto
9ee5a5c715 implement ESC c -- full reset 2022-11-06 18:59:17 -08:00
Mitchell Hashimoto
e7c5cbf758 throttle cursor reset, under heavy IO this would slow things down 2022-11-06 18:44:35 -08:00
Mitchell Hashimoto
705772ed28 termio: clean up error handling for kill 2022-11-06 15:26:18 -08:00
Mitchell Hashimoto
ac6f960b92 termio: on deinit, send SIGHUP to child process to exit it 2022-11-06 14:08:42 -08:00
Mitchell Hashimoto
746858cea6 implement cursor reset when data comes in pty 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
aa98e3ca3a Move cursor timer to renderer 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
a05b08fdc7 move bracketed paste to terminal state 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
5cb6ebe34d Actually, we'll manage selection and viewports on the windowing thread 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
989046a06c More IO events 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
1a7b9f7465 termio: clear selection 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
f1d2df1a54 fully hook up resize 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
b100406a6e termio: start the thread mailbox, hook up resize 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
a8e7c52041 IO thread can trigger render and write data 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
d916d56bff IO thread stream handler is in, lots of commented TODOs 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
9b3d22e55e IO thread has more state setup 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
35c1decd58 Start pulling out IO thread and IO implementation 2022-11-05 19:31:02 -07:00