Mitchell Hashimoto
9f86c48fd8
keybinding jump_to_prompt for semantic prompts
2023-07-06 10:30:29 -07:00
Mitchell Hashimoto
2f935d2c5c
clear_screen uses FF (0x0C) if cursor is at prompt
2023-07-05 14:16:34 -07:00
Mitchell Hashimoto
738c4dff4c
clear_screen keybinding works even when not at shell prompt
...
Instead of sending formfeed (0x0C), clear_screen actually does a
terminal emulator level clear instead. This MOSTLY matches the behavior
of iTerm and Terminal.app, with some differences:
1. I do not clear _below_ the cursor. I feel like the use case for
this feature is primarily to clear above the cursor. Happy to be
wrong here but I want it proven to me!
2. I do not clear in alternate screen mode. Clearing alt screens
breaks rendering in Vim, less, etc. and it feels like the wrong
behavior.
2023-07-05 14:01:01 -07:00
Mitchell Hashimoto
314f9287b1
Update Zig ( #164 )
...
* update zig
* pkg/fontconfig: clean up @as
* pkg/freetype,harfbuzz: clean up @as
* pkg/imgui: clean up @as
* pkg/macos: clean up @as
* pkg/pixman,utf8proc: clean up @as
* clean up @as
* lots more @as cleanup
* undo flatpak changes
* clean up @as
2023-06-30 12:15:31 -07:00
Mitchell Hashimoto
56f8e39e5b
Update zig, mach, fmt
2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
03fd649b5e
terminal: CHT/CBT
2023-06-25 09:53:58 -07:00
Mitchell Hashimoto
b2cd2e06de
use stdlib selfExePath
2023-06-24 12:12:49 -07:00
Mitchell Hashimoto
9c8f784386
termio: sets TERMINFO if we can find the terminfo dir
2023-06-24 12:10:10 -07:00
Mitchell Hashimoto
28a22fc07f
various tests to ensure we parse curly underlines correctly
2023-06-20 09:24:07 -07:00
Mitchell Hashimoto
866de88ee6
termio/exec: check cwd validity
2023-05-31 19:17:08 -07:00
Mitchell Hashimoto
e59b2f7fca
terminal: track pwd reported via OSC 7
2023-05-31 18:54:24 -07:00
Mitchell Hashimoto
414f2e52a5
terminal: semantic prompt aware resize
2023-05-31 16:16:00 -07:00
Mitchell Hashimoto
de00892f8e
termio/exec: handle semantic prompt events
2023-05-27 15:48:31 -07:00
Mitchell Hashimoto
3689f1fe39
apprt/gtk: only show exit confirmation if process is alive
2023-03-25 16:36:12 -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
ce10d875b6
Merge pull request #117 from mitchellh/config-stuff
...
Reloadable Configuration
2023-03-19 12:32:23 -07:00
Mitchell Hashimoto
b0b3b0af2d
update config messages use pointers now to make messages small again
2023-03-19 10:48:42 -07:00
Mitchell Hashimoto
638e05454f
termio: allow write req pool to grow if needed
...
This may be necessary if large amounts of data is being written (i.e. a
large clipboard paste). The pool is never shrunk again for now but once
the writes go through the buffer items will of course be reused so its
unlikely to need to continue growing.
2023-03-19 10:27:08 -07:00
Mitchell Hashimoto
6f4e913182
termio/exec: comment about what we're updating
2023-03-19 10:11:32 -07:00
Mitchell Hashimoto
8f0be3ad9e
termio: use DerivedConfig
2023-03-19 10:09:17 -07:00
Mitchell Hashimoto
91c9655475
remove unused function, make apprt surface close mandatory
2023-03-18 19:33:08 -07:00
Mitchell Hashimoto
6b61a2449a
termio: no need to close pty primary when process exits
2023-03-18 19:30:01 -07:00
Mitchell Hashimoto
d83bf5aeb4
termio: close surface on process exit
2023-03-18 19:21:28 -07:00
Mitchell Hashimoto
872c1211f5
pty: deinit should close child end
2023-03-18 19:15:29 -07:00
Mitchell Hashimoto
679f07605e
termio: detect child process exit
2023-03-18 18:58:34 -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
89d07fcd83
clear_history binding, default Cmd+K
2023-03-03 09:27:47 -08:00
Mitchell Hashimoto
38060978e2
termio/exec: don't pass pointer to stack var
2023-02-28 11:07:03 -08:00
Mitchell Hashimoto
a8025f6ec2
termio: env should not freed because arena gets it
2023-02-27 11:55:04 -08:00
Mitchell Hashimoto
83a1d783b1
termio: implement kill command for flatpak
2023-02-27 11:44:18 -08:00
Mitchell Hashimoto
52d22a140c
termio: exec uses new flatpak command, no more host-spawn
2023-02-27 11:26:31 -08:00
Mitchell Hashimoto
fc3802e632
termio: use host-spawn for pty
2023-02-25 22:36:20 -08:00
Mitchell Hashimoto
ec956debb7
Command/Pty work better with Flatpak but not 100% yet
2023-02-25 21:19:57 -08:00
Mitchell Hashimoto
913131c8f1
rename more stuff
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
fbe35c226b
Integrating new surface
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
7fc9d1bf52
termio: remove xcode-injected env vars
2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
573b163636
start input, its broken but we're getting there
2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
695a9f3cb9
termio: fix pty close error so close doesn't hang on macOS
2023-02-06 16:05:41 -08:00
Mitchell Hashimoto
469d395997
termio: fix TODO around cursor reset
2023-02-06 15:51:55 -08:00
Mitchell Hashimoto
7c360eb29a
termio: better commenting on what is going on
2023-02-06 15:45:32 -08:00
Mitchell Hashimoto
91ace8af64
termio: IO reader thread cleanup works
2023-02-06 15:41:28 -08:00
Mitchell Hashimoto
11d6e91228
termio: reader thread is thread-safe for writing to writer
2023-02-06 14:52:24 -08:00
Mitchell Hashimoto
a5d03d1318
termio: use a dedicated io reader thread?
2023-02-05 21:33:15 -08:00
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