2384 Commits

Author SHA1 Message Date
Mitchell Hashimoto
bddf8a8cb3 termio/exec: limit max apc string length 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
6e061fb344 termio/exec: process APC callbacks 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
29e3e79b94 terminal: parse APC strings 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
3ca759bac6 core: send pixel-level surface sizing to the pty 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
e7ab16f0e1 terminal: CSI < u defaults param to "1" if not set (pop kitty keyboard) 2023-08-20 22:02:12 -07:00
Mitchell Hashimoto
1921fb8e6a Merge pull request #313 from mitchellh/new-zig
update to zig 0.12.0-dev.141+ddf5859c2
2023-08-20 09:16:48 -07:00
Mitchell Hashimoto
936befa1af update to 0.12.0-dev.141+ddf5859c2 2023-08-20 09:04:42 -07:00
Mitchell Hashimoto
7ccf86b175 remove imgui and devmode
imgui has been a source of compilation challenges (our fault not theirs)
and devmode hasn't worked in awhile, so drop it.
2023-08-20 08:50:24 -07:00
Mitchell Hashimoto
27c62ea381 Update TODO.md 2023-08-19 22:26:44 -07:00
Mitchell Hashimoto
1a49fbe2be Merge pull request #312 from mitchellh/mrn/fix-cascade-point
macOS: fix cascading windows when using tabs and closing windows
2023-08-19 11:43:32 -07:00
Thorsten Ball
be114e792f macOS: fix cascading windows when using tabs and closing windows
This fixes two things:

1. Issue #294: cascade point for new windows is set when creating new tabs
2. Cascade point was *not* reset when closing windows, which lead to a
   big "gap" appearing when, say, opening 5 windows, closing 4, opening
   a new window.
2023-08-19 20:21:20 +02:00
Mitchell Hashimoto
f6a8c83325 Merge pull request #311 from mitchellh/mrn/macos-window-inherit-font-size
macOS: new windows/split can inherit font size
2023-08-19 11:05:32 -07:00
Thorsten Ball
fbe42fbac7 macOS: reduce mechanism to create windows back to one 2023-08-19 19:41:34 +02:00
Thorsten Ball
a76aea4d0a macOS: new split can inherit font size 2023-08-19 09:59:04 +02:00
Thorsten Ball
2e9b787668 macOS: new window can inherit font size
This is the second part of #281 and adds the same mechanism that was
added for tabs in #296 for windows.

It works exactly the same way.
2023-08-19 09:29:56 +02:00
Mitchell Hashimoto
0b6de6928c Merge pull request #310 from mitchellh/colors
renderer/{metal,opengl}: need to premult our cell alpha to have effect
2023-08-18 19:08:15 -07:00
Mitchell Hashimoto
0ca6957d0c renderer/{metal,opengl}: need to premult our cell alpha to have effect 2023-08-18 18:38:47 -07:00
Mitchell Hashimoto
e92021e0c9 config: repeatablestring must copy values it parses into arena 2023-08-18 18:13:19 -07:00
Mitchell Hashimoto
fe3c82d81a Merge pull request #307 from mitchellh/discord-testing-docs
Tweak testing README
2023-08-18 09:48:09 -07:00
Jack Pearkes
8075d84923 Tweak testing README
Updates the Discord sections of the testing readme to
match the new setup.
2023-08-18 09:46:36 -07:00
Mitchell Hashimoto
4f5460475c Merge pull request #296 from mitchellh/mrn/macos-inherit-font-size
macOS: inherit font size when creating new tab
2023-08-18 09:22:06 -07:00
Mitchell Hashimoto
a18503fc01 macos: can always set base config on new tab 2023-08-18 09:21:47 -07:00
Mitchell Hashimoto
5eb902592c c include: u8 => u16 2023-08-18 09:19:22 -07:00
Mitchell Hashimoto
a960faa2b8 apprt/embedded: use setfontsize so that the original font size is
retained
2023-08-18 09:13:59 -07:00
Mitchell Hashimoto
96fc1c55ef Merge pull request #304 from mitchellh/mouse-scroll
mouse scroll events were flipped for non-cursor key events
2023-08-18 09:10:09 -07:00
Mitchell Hashimoto
79971c62a6 macos: pass around a base surface_config_s rather than a new tab 2023-08-18 09:09:43 -07:00
Mitchell Hashimoto
49caecb3dd Merge pull request #303 from mitchellh/ri-scroll
terminal: proper reverseIndex behavior with scroll region set
2023-08-18 08:46:37 -07:00
Mitchell Hashimoto
95b88d38c2 mouse scroll events were flipped for non-cursor key events
Fixes #302
2023-08-18 08:45:24 -07:00
Mitchell Hashimoto
8435d45bc9 terminal: proper reverseIndex behavior with scroll region set
Fixes #298

This fix is quite simple and the code should be more or less obvious:
we weren't handling scroll regions properly for the reverse index (RI)
escape sequence.
2023-08-18 08:32:13 -07:00
Mitchell Hashimoto
e8a6d09297 build: gtk needs imgui 2023-08-18 08:25:20 -07:00
Mitchell Hashimoto
3879f7c2e8 build: imgui should not be linked without an apprt 2023-08-18 08:24:09 -07:00
Mitchell Hashimoto
7659a2a733 build: fix linking bugs for macos test 2023-08-18 08:23:58 -07:00
Mitchell Hashimoto
0bdd73797e Fix rendering issues with bash shell integration (#301)
* shell-integration/bash: we need to wrap escape sequences in brackets

* nix: install bashInteractive on Linux
2023-08-17 22:42:26 -07:00
Thorsten Ball
cda87a6963 embedded: use separate struct to pass options to new_tab_cb 2023-08-18 06:50:47 +02:00
Mitchell Hashimoto
9d61212451 Simplify Bash Integration (#299)
* shell-integration: new bash integration that is much simpler

* shell-integration: bash fixes
2023-08-17 21:50:42 -07:00
Thorsten Ball
12311e9707 macOS: simplify code for new tab 2023-08-18 06:26:15 +02:00
Mitchell Hashimoto
95591115de update README 2023-08-17 17:12:51 -07:00
Mitchell Hashimoto
0323f10905 Merge pull request #297 from mitchellh/disable-glfw
build: make glfw opt-in on all platforms, default to GTK on Linux
2023-08-17 16:55:26 -07:00
Mitchell Hashimoto
68a9110d8e build: make glfw opt-in on all platforms, default to GTK on Linux
The GLFW build has grown farther and farther in feature parity with GTK
on Linux. And on macOS, the GLFW build has been unstable (crashes) for
months.

I still find the GLFW build useful for testing some core terminal work,
but it is increasingly user-hostile in case someone just downloads the
project and does a `zig build`.

I keep GLFW as up to date as I can, but the features that are missing
are due to fundamental limitations:

  - GLFW has no tabs, splits, etc. because it has no UI elements.
    I am not interested in painting UI widgets from scratch.

  - GLFW cannot support keyboard layouts robustly because it has no
    hooks to detect keyboard layouts or functions to get keymaps.

  - GLFW cannot support the Kitty keyboard protocol because the
    key/char API is too high level and it provides no low-level
    alternatives.

  - GLFW crashes on macOS under certain scenarios (this is my problem).
    I'm not interested in fixing it because the AppKit-based build
    is highly recommended.

To build or run the GLFW build you must now explicitly pass in
`-Dapp-runtime=glfw` to `zig build`.
2023-08-17 16:27:03 -07:00
Mitchell Hashimoto
fe1e879ec7 termio: disable kitty keyboard protocol for glfw
See comment.
2023-08-17 15:08:39 -07:00
Mitchell Hashimoto
a8f37f50e6 Update README.md 2023-08-17 14:55:24 -07:00
Mitchell Hashimoto
a6e1b3d232 Note bash shell integration in README 2023-08-17 14:36:15 -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
a058bcbdb0 shell-integration: add bash script (no auto-inject yet) 2023-08-17 13:26:06 -07:00
Mitchell Hashimoto
b7e1122224 input: remove old TODO. This is handled now in the app runtimes 2023-08-17 12:59:22 -07:00
Mitchell Hashimoto
72f5370066 apprt/glfw: always say alt is consumed on macos 2023-08-17 12:51:07 -07:00
Thorsten Ball
3e7c4475a1 macOS: move newTab code to PrimaryWindowManager 2023-08-17 20:57:00 +02:00
Thorsten Ball
d2dae7a696 macOS: inherit font size when creating new tab
This is one part of #281.
2023-08-17 20:56:56 +02:00
Mitchell Hashimoto
91456fe420 input: repeat events need to be handled for Kitty w/o report events 2023-08-17 11:23:13 -07:00
Mitchell Hashimoto
df517abec2 Merge pull request #295 from mitchellh/kitty-keys
Kitty Keyboard Protocol
2023-08-17 10:12:57 -07:00