4063 Commits

Author SHA1 Message Date
Mitchell Hashimoto
0a69615670 font/shaper: add Cache 2024-05-01 18:55:22 -07:00
Mitchell Hashimoto
81a12b0d86 font/shaper: add hash to text runs 2024-05-01 18:28:53 -07:00
Mitchell Hashimoto
187653e9cd Merge pull request #1698 from jparise/exec-command-path
termio: pass full command to shell integration
2024-04-30 14:10:58 -07:00
Mitchell Hashimoto
f99823ec38 Merge pull request #1713 from BvngeeCord/main
sprites: dont thicken via font-thicken, add cursor thickness adjustment
2024-04-30 14:09:04 -07:00
Mitchell Hashimoto
1072354747 build: add -Dfont-backend=coretext_harfbuzz to force Harfbuzz w/ CT 2024-04-30 14:03:38 -07:00
Mitchell Hashimoto
6858646843 font/coretext: tests for #1721 2024-04-30 11:55:18 -07:00
Mitchell Hashimoto
313c7f4cf1 font: runs do not split on bg color change
We previously split text runs for shaping on bg color changes. As
pointed out in Discord, this is not necessary, since we can always color
cells according to their desired background even if the text in the cell
shapes to something else.
2024-04-30 11:23:41 -07:00
Gordon Cassie
e77f9962a8 revert on comment removal 2024-04-30 10:21:31 -07:00
Gordon Cassie
e564454ff1 More log statements. 2024-04-30 10:21:08 -07:00
Gordon Cassie
b76f5976ee Remove unnecessary allocation. 2024-04-30 10:20:50 -07:00
Gordon Cassie
abd782a7aa Fix typo. 2024-04-30 10:20:31 -07:00
Mitchell Hashimoto
9b4e362a33 font/coretext: shaping ligatures adds padding cells for replaced cells
Fixes #1708

Harfbuzz does this automatically. Our tests for harfbuzz test this. We
had a todo in CoreText to mimic this but wasn't sure if it was useful.
Turns out, it is important (see bug!)
2024-04-30 10:14:43 -07:00
Mitchell Hashimoto
d15b5e3e49 renderer/metal: skip frame update if our cell buffer is too small
See the comment in the diff for when this can happen.
2024-04-29 12:28:17 -07:00
Mitchell Hashimoto
cbc1ec73ed renderer/metal: only delete values from the same array 2024-04-28 14:38:36 -07:00
Mitchell Hashimoto
71b90bb2e0 renderer/metal: font changes needs to reset cell contents 2024-04-28 14:10:54 -07:00
Mitchell Hashimoto
b1f324e87a renderer/metal: frame index must fit up to buffer count 2024-04-28 10:02:07 -07:00
Mitchell Hashimoto
105dbe9e05 renderer/metal: go back to single buffering for now 2024-04-28 09:52:51 -07:00
Mitchell Hashimoto
a54fbe328c renderer/metal: improved comments 2024-04-28 09:52:29 -07:00
Mitchell Hashimoto
a299338099 renderer/metal: remove old functions 2024-04-28 09:41:45 -07:00
Mitchell Hashimoto
f7714a113d renderer/opengl: fix compilation 2024-04-28 09:40:03 -07:00
Mitchell Hashimoto
313eb1176d renderer/metal: preedit works again 2024-04-28 09:37:06 -07:00
Mitchell Hashimoto
06f21a0daa renderer/metal: only invert if block 2024-04-27 22:26:40 -07:00
Mitchell Hashimoto
3a7dc355a0 renderer/metal: invert text under cursor again 2024-04-27 22:13:17 -07:00
Mitchell Hashimoto
c15f4d7258 renderer/metal: render the cursor 2024-04-27 22:01:03 -07:00
Mitchell Hashimoto
fe4fc509e9 renderer/metal: use index() for all cell settings 2024-04-27 21:42:09 -07:00
Mitchell Hashimoto
ef326ad11c renderer/metal: clear cell contents bottom-up 2024-04-26 21:53:29 -07:00
Mitchell Hashimoto
e397abcadd renderer/metal: swap to new cell contents map 2024-04-26 21:24:14 -07:00
Mitchell Hashimoto
3f16234f72 terminal: Coordinate uses CellCountInt 2024-04-26 20:52:08 -07:00
Mitchell Hashimoto
2b67eaa18d renderer/metal: working on cell contents map 2024-04-26 20:35:25 -07:00
Mitchell Hashimoto
ced8776120 renderer/metal: grid pos for bg/text should be ushort2
This saves 50% memory per vertex.
2024-04-25 19:16:40 -07:00
Mitchell Hashimoto
15b7a37cf9 terminal: export Coordinate 2024-04-25 19:07:10 -07:00
Mitchell Hashimoto
da55da2c96 renderer/metal: prepare cell contents mapping data (not implemented yet) 2024-04-23 21:51:44 -07:00
Jack N
8c8f1b6fde fix macos build 2024-04-22 23:35:48 -07:00
Jack N
346eba3152 sprites: dont thicken via font-thicken, + add cursor thickness adjustment 2024-04-22 20:35:23 -07:00
Mitchell Hashimoto
556f52015b renderer/metal: update comment 2024-04-22 11:06:07 -07:00
Mitchell Hashimoto
e07ae90d49 renderer/metal: rename drawcells 2024-04-22 10:59:36 -07:00
Mitchell Hashimoto
d12e3db599 renderer/metal: dedicated cell fg shader 2024-04-22 10:58:23 -07:00
Mitchell Hashimoto
e8b623e829 renderer/metal: dedicated cell bg shader 2024-04-22 10:43:29 -07:00
Mitchell Hashimoto
7a6a2b0752 renderer/metal: don't draw with zero instances 2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
8093088515 renderer/metal: move more metal objects into GPUState 2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
20bfbd9b2e renderer/metal: implement triple-buffering 2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
2dc8ae2ed7 renderer/metal: move more frame state to the frame 2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
1d41a3ccff renderer/metal: start setting up per-frame state 2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
5f4b33d610 renderer/opengl: remove strikethrough fg mode 2024-04-22 10:40:26 -07:00
Mitchell Hashimoto
4398896905 renderer/opengl: strikethrough as sprite 2024-04-22 10:30:27 -07:00
Mitchell Hashimoto
ad08842e86 renderer/metal: remove strikethrough support from GPU 2024-04-22 10:26:51 -07:00
Mitchell Hashimoto
0f348e809e font: strikethrough uses sprite rendering 2024-04-22 10:25:33 -07:00
Mitchell Hashimoto
57bf0b08ff Revert "Merge pull request #1690 from TheOnlyMrCat/gtk_opacity"
This reverts commit cbd787c92d296fc4b990a2d1cbf5c901af5b08bc, reversing
changes made to 74e8275e8ba38116a2f6a585902e7f8897c9b085.

See: https://github.com/mitchellh/ghostty/issues/1704
2024-04-21 10:17:38 -07:00
Mitchell Hashimoto
ae987c68e0 terminfo: reset kbs back to ^?, clear high bit for encoding 2024-04-21 10:07:53 -07:00
Jon Parise
54f6abf1cf termio: pass full command to shell integration
This will allow the shell integration code to inspect the full command
string rather than just the first component (shell binary).
2024-04-21 09:53:27 -07:00