3982 Commits

Author SHA1 Message Date
Mitchell Hashimoto
796d1312ff font/sprite: rect must be smaller than canvas dims 2024-02-24 13:19:49 -08:00
Mitchell Hashimoto
759c8cddb4 font/sprite: test for thick underline, assertion on x/y for rect 2024-02-24 09:30:04 -08:00
em-dash
0f19251aa6 fix crash in underline drawing math 2024-02-24 20:49:51 +11:00
ProfOak
f7911937ec Move selection paste to linux config section 2024-02-21 22:37:05 -06:00
Mitchell Hashimoto
a0c43a8566 Merge pull request #1542 from ProfOak/paste-on-selection
Add keybind support for shift+insert selection paste
2024-02-21 19:27:31 -08:00
Tim Culverhouse
534f97dff0 terminfo: remove completed todo
OSC4 has been implemented. Remove this todo
2024-02-21 20:21:59 -06:00
ProfOak
96daf97d19 Add keybind support for shift+insert selection paste 2024-02-21 19:33:05 -06:00
Krzysztof Wolicki
4add6889d8 Update to new compress.zlib API 2024-02-20 16:43:02 -08:00
Mitchell Hashimoto
793b657ca8 kitty-gfx: deletion should mark image state dirty to force redraw
Fixes #1537
2024-02-18 19:45:18 -08:00
Gregory Anders
cff9671bdf Omit release events for backspace, enter, and tab if report_all is unset 2024-02-18 09:43:05 -06:00
Mitchell Hashimoto
1170cee550 input: encode ctrl+shift+<ascii letter> in CSIu as lowercase + shift
This follows a specific behavior Kitty has, but no other terminal seems
to have, but it is a reasonable behavior that is in use by real programs
as found by our beta testing community.

We diverge from Kitty though in that we only apply this to ASCII
letters. Kitty does not CSIu encode special characters like `@` or `$`.
For these characters, Ghostty still encodes it as specified by fixterms.
2024-02-17 13:45:49 -08:00
Mitchell Hashimoto
4c4d01edc9 Merge pull request #1531 from mitchellh/shifted
input: send shifted uppercase ASCII letters as CSIu
2024-02-17 11:22:21 -08:00
Mitchell Hashimoto
4a6ba59f73 input: send shifted uppercase ASCII letters as CSIu
Related to #1507

The comments in this change have most of the detail. The primary gist:

  - caps-lock is handled correctly so #1501 is still fixed
  - only characters pressed with the shift key are affected
2024-02-17 08:39:27 -08:00
Felipe Coury
733f4464c3 docs: correct MacOS location for themes on config docs 2024-02-17 10:53:27 -03:00
Mitchell Hashimoto
f7a9879579 build: fix issue for long branch names 2024-02-16 13:59:42 -08:00
Ryan Cao
56ebc78b8a docs: document the text action for keybind 2024-02-16 17:40:43 +08:00
Mitchell Hashimoto
3d26d3813d Merge pull request #1522 from mitchellh/metal-occlusion
macOS: send occluded state to renderers, trigger draw on visible
2024-02-13 22:02:00 -08:00
Mitchell Hashimoto
239a517710 Revert "renderer/metal: start extracting "visible" resources"
This reverts commit 0c1d288142a0d0bf31be13999e89bdc08bd18fb9.
2024-02-13 21:57:55 -08:00
Mitchell Hashimoto
387e5b242e Revert "renderer/metal: cache buf cells"
This reverts commit 9f6db11b95f1bfed79f9b653f2ffb2be81cfc158.
2024-02-13 21:57:50 -08:00
Mitchell Hashimoto
b602eba61b Revert "renderer/metal: move shaders to cached state"
This reverts commit bef83446d1cff42946c2a242e3c645350d00c574.
2024-02-13 21:57:49 -08:00
Mitchell Hashimoto
e10e45a935 Revert "renderer/metal: free resources when occluded"
This reverts commit b5d543705de4ea42407db9e2d49ae03f3ae5cf14.
2024-02-13 21:57:46 -08:00
Mitchell Hashimoto
b5d543705d renderer/metal: free resources when occluded 2024-02-13 20:07:41 -08:00
Mitchell Hashimoto
bef83446d1 renderer/metal: move shaders to cached state 2024-02-13 19:37:10 -08:00
Mitchell Hashimoto
9f6db11b95 renderer/metal: cache buf cells 2024-02-13 19:10:58 -08:00
Mitchell Hashimoto
b945a6c3b6 Merge pull request #1509 from der-teufel-programming/fix-os-O
Update usage of std.os.O
2024-02-13 16:45:44 -08:00
Mitchell Hashimoto
0c1d288142 renderer/metal: start extracting "visible" resources 2024-02-13 09:44:40 -08:00
Mitchell Hashimoto
e1908f7cc7 renderer: handle renderer pause/redraw on occlusion 2024-02-13 09:21:04 -08:00
Mitchell Hashimoto
7548ac368e config: note that tab restore with titlebar tabs on macos 13 is broken 2024-02-12 21:30:24 -08:00
Mitchell Hashimoto
e95b1707c1 core: fallback to heap allocation for long preedit inputs
Fixes #1514

We previously required all preedit inputs to fit into the small copied
message size. That's true for 99% of all inputs, but if a long pre-edit
input comes in, this may not be true. We should try the small array
fast-path but fall back to heap allocation if we must.
2024-02-12 21:21:35 -08:00
Mitchell Hashimoto
6acf2b40af terminal/kitty-gfx: mistaken logic 2024-02-12 19:35:02 -08:00
Mitchell Hashimoto
9193cfa6d2 style nit 2024-02-12 19:31:58 -08:00
Nameless
28ff9f7310 bug: std.os.realpath on non-windows asserts no nulls, make an error 2024-02-12 19:31:17 -08:00
Mitchell Hashimoto
739fc746bf terminal: OSC parses 4 with empty string param without crashing 2024-02-12 19:30:04 -08:00
Mitchell Hashimoto
be0595d71d apprt/embedded: add occlusion state callback 2024-02-12 13:48:09 -08:00
Krzysztof Wolicki
af842591c5 Update usage of std.os.O 2024-02-12 20:11:02 +01:00
Mitchell Hashimoto
2f36fd4b5f input: ctrl ASCII uppercase behaves the same as ctrl lowercase
Fixes #1505

I verified this behavior with every other terminal and I've added test
cases for it. We previously had a test case to assert the opposite,
which is incorrect.
2024-02-11 14:28:53 -08:00
Mitchell Hashimoto
52f48147c5 Merge pull request #1499 from marler8997/fixWindowsTmpDir
os: remove UB, tmpDir is returning stack memory on Windows
2024-02-10 20:39:32 -08:00
Jonathan Marler
e1996ad1e5 os: remove UB, tmpDir is returning stack memory on Windows
On Windows, the tmpDir function is currently using a buffer on the stack
to convert the WTF16-encoded environment variable value "TMP" to utf8
and then returns it as a slice...but that stack buffer is no longer valid
when the function returns.  This was causing the "image load...temporary
file" test to fail on Windows.

I've updated the function to take an allocator but it only uses
the allocator on Windows.  No allocation is needed on other platforms
because they return environment variables that are already utf8 (ascii)
encoded, and the OS pre-allocates all environment variables in the process.
To keep the conditional that determines when allocation is required, I
added the `freeTmpDir` function.
2024-02-10 21:09:05 -07:00
Qwerasd
58b925d4c3 fix(bench): update std options format 2024-02-10 22:20:24 -05:00
Mitchell Hashimoto
74c26d1ef0 Merge pull request #1489 from mitchellh/update-zig
update zig
2024-02-10 17:48:50 -08:00
Mitchell Hashimoto
004405ccf9 terminal: only apply VS15/16 to emoji
Fixes #1482
2024-02-10 17:26:45 -08:00
Mitchell Hashimoto
8456e9d7f7 command: io_mode removed for windows 2024-02-10 16:58:45 -08:00
Mitchell Hashimoto
de228d99dd logfn doesn't need to be pub 2024-02-10 16:45:00 -08:00
Jakub Konka
e32b4849d1 fix for latest breaking libstd changes to Options 2024-02-10 16:43:57 -08:00
Mitchell Hashimoto
f7c945c4a7 Merge pull request #1494 from mitchellh/grapheme-break
Optimized grapheme break detection (6x speedup)
2024-02-10 07:54:06 -08:00
Mitchell Hashimoto
5275d44e7d unicode: precompute grapheme break data 2024-02-09 20:50:13 -08:00
Mitchell Hashimoto
6f8b4204b9 terminal: use new grapheme break algo 2024-02-09 20:31:20 -08:00
Mitchell Hashimoto
132fbb3a46 unicode: use packed struct for break state 2024-02-09 20:29:36 -08:00
Mitchell Hashimoto
c47ad97f62 unicode: remove unused 2024-02-09 20:23:29 -08:00
Mitchell Hashimoto
5f3574a4bf unicode: direct port of ziglyph to start 2024-02-09 19:44:57 -08:00