6075 Commits

Author SHA1 Message Date
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
a6798ac44d Merge pull request #1711 from mitchellh/strikesprite
Strikethrough should be sprite-rendered
2024-04-22 10:42:20 -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
4f8aa0e34e Merge pull request #1706 from mitchellh/update-zig2
Pin to Zig 0.12
2024-04-21 10:37:50 -07:00
Mitchell Hashimoto
e045e6635b update README 2024-04-21 10:30:22 -07:00
Mitchell Hashimoto
99b963d4b0 build.zig: change required zig version 2024-04-21 10:27:26 -07:00
Mitchell Hashimoto
2f2d2c3bb1 remove nixpkgs fork for zig 0.12 2024-04-21 10:25:18 -07:00
Mitchell Hashimoto
d052ada359 try to use official zig 0.12 for nix package 2024-04-21 10:23:47 -07:00
Mitchell Hashimoto
b557542afb update to zig 0.12 2024-04-21 10:22:52 -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
a66f784f92 Merge pull request #1705 from mitchellh/terminfo2
terminfo: reset kbs back to ^?, clear high bit for encoding
2024-04-21 10:13:20 -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
Mitchell Hashimoto
542b416cf1 Merge pull request #1702 from jparise/force_shell
termio: fix "forced" shell integration
2024-04-20 20:49:55 -07:00
Mitchell Hashimoto
a5c79beb83 Merge pull request #1703 from mitchellh/terminfo
terminfo: for XTGETTCAP, non-parameterized string values return encoded
2024-04-20 20:48:50 -07:00
Mitchell Hashimoto
631ac651ab terminfo: for XTGETTCAP, non-parameterized string values return encoded
Fixes #1699

See #1699 for a lot more research. I haven't found a definitive source
of this behavior but this appears to match most of the mainstream
terminals and xterm for the realistic terminfo entries we have and
I'm going to consider that good enough.

For non-parameterized string values in a terminfo, the XTGETTCAP result
should be the tcap encoded form. This means replacing characters such as
`\E` with their byte form of 0x1B, and control characters such as `^H`
with their actual character 0x08, and so on.

"Non-parameterized" is a bit weird, the comment in this commit explains
my best guess (thanks to some community help) of why this may be.

This commit does NOT handle all encodings, but it handles the encodings
we use and the encodings I could cross-check with other terminals. The
actual tcap encoding is much more complicated and I'm sure for specific
types of terminfo values our encoding is not correct. If and when those
come up we should fix them.
2024-04-20 20:34:49 -07:00
Jon Parise
5ea99d3626 termio: fix "forced" shell integration
When a shell is forced, we would supply its /-prefixed executable name
to mimic a path location. The rest of the integration detection logic
assumes just a base executable name. Fix the forced names accordingly.

Also add a unit test for this "force shell" behavior.
2024-04-20 11:37:34 -07:00
Mitchell Hashimoto
2624d3a753 Merge pull request #1697 from mitchellh/legacy
config: rename "wcswidth" to "legacy" for "grapheme-width-method"
2024-04-19 10:06:01 -07:00
Mitchell Hashimoto
be0d52a4f2 config: rename "wcswidth" to "legacy" for "grapheme-width-method"
We don't actually use libc wcswidth to determine width and even if we
did some terminals use wcwidth (which behaves differently), some use
the Python wcswidth library (which behaves differently), etc. The
reality is there is no real consistency on "legacy" behavior so by
naming it "legacy" we show that we're doing our best but also gives us
wiggle room to change our behavior in the future.

Functionally nothing changes with this commit.
2024-04-19 09:56:22 -07:00
Mitchell Hashimoto
93f8db59ce inspector: show cell codepoints and wide property 2024-04-19 09:33:43 -07:00
Mitchell Hashimoto
915e09367a Merge pull request #1696 from mitchellh/update-zig
Update to Latest Zig
2024-04-18 16:40:37 -07:00
Chris Marchesi
decb5d5e7e nix: update nixpkgs-zig-0-12
This updates the nixpkgs-zig-0-12 to be in line with the current overlay
Zig (0.12.0-dev.3676+21a6a1b0f).
2024-04-18 15:49:39 -07:00
Mitchell Hashimoto
cbd787c92d Merge pull request #1690 from TheOnlyMrCat/gtk_opacity
Fix background-opacity for the GTK backend
2024-04-18 15:04:56 -07:00
Mitchell Hashimoto
9fc4bc1e14 build: absolute path should not use b.path 2024-04-18 14:57:00 -07:00
Mitchell Hashimoto
736623b7ec build: use b.path everywhere 2024-04-18 14:51:41 -07:00
Mitchell Hashimoto
dbbaceec4a fix windows build 2024-04-18 14:48:07 -07:00
Mitchell Hashimoto
e4cbd522e8 update zig 2024-04-18 14:37:05 -07:00
Mitchell Hashimoto
0699d3720c update deps 2024-04-18 14:32:57 -07:00
Mitchell Hashimoto
5370ac7eef nix: update cache hash 2024-04-18 14:23:10 -07:00
Mitchell Hashimoto
70c6ccf461 update mach-glfw to use b.path for relative includes 2024-04-18 14:22:05 -07:00
Mitchell Hashimoto
1f09da02ad terminal: relax cell zero value default test 2024-04-18 14:09:11 -07:00
Mitchell Hashimoto
95fb76c1a7 update mach to avoid vulkan 2024-04-18 13:58:35 -07:00