Mitchell Hashimoto
99abff85dd
input: pc style function keys should use all mods, not effective
2023-08-21 08:10:27 -07:00
Mitchell Hashimoto
89dfe85740
terminal/kitty-gfx: the data is base64 encoded!
2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
c96fa2e85f
terminal/kitty-gfx: fix broken tests
2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
59dcb85ad4
terminal/kitty-gfx: loading non-chunked image takes data slice ownership
2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
03e0ba9081
terminal/kitty-gfx: zlib decompression for data validation
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
6ed3fcbfb0
terminal/kitty-gfx: fix big chunked load memory leak
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
bbcb2f96c8
terminal/kitty-gfx: huge progress on chunked transfers, lots of issues
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
e84f82bd97
terminal/kitty-gfx: assign an internal image id
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
b3a3ca1182
terminal/kitty-gfx: placement now works properly
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
7bec2820a7
terminal/kitty-gfx: start working on placements
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
80c7f09a36
terminal/kitty-gfx: start terminal state, can load and add images
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
f82899bd58
terminal/kitty-gfx: better memory ownership semantics around func calls
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
1b7fbd00d1
terminal/kitty-gfx: add some validation from Kitty
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
eeddda57ff
terminal/kitty-gfx: handle quiet settings for response
2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
c7658df978
terminal/kitty-gfx: support "query", loading images, tests
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
ec69644de6
move stb to src/stb, add stb_image for png decoding
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
824d586afc
terminal: generalized APC handler
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
b7f819dc0b
terminal/kitty-gfx: clean up a lot more memory management
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
b5bd35f538
terminal/kitty-gfx: optimize some of our kv parsing
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
a07cfbb1e0
terminal: kitty parser get a little clever, keys are always a char
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
bffbc626fc
terminal: more comments for kitty command parsing
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
91ea586b1e
terminal: tests for kitty command parsing
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
ac12d2eb97
terminal: all commands parsed, need tests
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
f4a40168da
terminal: a lot more kitty command parsing
2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
94040c05f0
terminal: initial kitty graphics command parsing
2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
b9db629662
terminal: kitty graphics command/control structs
2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
fc7b3689fc
terminal: move kitty keyboard protocol to its own file
2023-08-20 22:03:19 -07:00
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
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
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
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
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
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
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
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
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
c8a07abdf3
terminal: ignore SOH/STX, bash sends this for some reason
2023-08-17 13:40:11 -07:00