6147 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto
bd7d71440e update zig, fix linux build 2024-04-18 13:27:15 -07:00
Max Guppy
2c8a1ada17 apprt/gtk: Fix background-opacity 2024-04-18 15:42:17 +10:00
Mitchell Hashimoto
74e8275e8b Merge pull request #1693 from jparise/apprt-embedded-opts
apprt/embedded: store userdata directly on Surface
2024-04-17 20:59:20 -07:00
Mitchell Hashimoto
973538e30e update zig 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
8dbedeb76c fix breaking changes with latest zig 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
910c8cb04a terminal: another enum in a packed struct needs backing int 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
b915c61fee build: fix broken install header call for Linux 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
fc4284e406 input: Key.Side needs a specific backing int for use in packed 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
c8dbbfee16 update mach-glfw dep to work with latest zig 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
7b70fcb550 update zig and zig-objc 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
f8b04fae5c update libxev 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
595f24585e working on more zig breaking changes 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
d8cc05317a update zig again 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
026484fea6 fix more comptime var leaks 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
5845281e30 update zig 2024-04-17 20:50:50 -07:00
Jon Parise
1087b9b0fd apprt/embedded: store userdata directly on Surface
We were previously retaining Options on the Surface struct, but other
than userdata, we only use those values for initialization. Instead,
store just the opaque userdata value on the Surface and clarify that
Surface.Options are only used for initialization.
2024-04-17 12:57:19 -07:00
Mitchell Hashimoto
06c5528a59 Merge pull request #1689 from mitchellh/macos-fs
macos: show alert when creating new tab in non-native fs
2024-04-16 09:39:20 -07:00
Mitchell Hashimoto
45eecf801e macos: show alert when creating new tab in non-native fs
Fixes #1683

The root issue is #392 and we can likely find a way to fix it, but for
now let's prevent the full program hang by showing an alert.
2024-04-16 09:34:10 -07:00
Mitchell Hashimoto
acf823fe3a config: update docs that fullscreen is incompatible with win-deco
Fixes #1684
2024-04-16 09:13:57 -07:00
Mitchell Hashimoto
b1b08defff Merge pull request #1679 from mitchellh/index-sgr
terminal: index (LF) that scrolls scroll region preserves SGR
2024-04-13 21:36:16 -07:00
Mitchell Hashimoto
9ea78f981e terminal: index (LF) that scrolls scroll region preserves SGR
Fixes #1676

The comment in the diff explains. This is a regression that was not unit
tested properly in the old implementation prior to the paged-terminal
merge.
2024-04-13 21:31:41 -07:00
Mitchell Hashimoto
18795c5c7e Merge pull request #1678 from mitchellh/overflow
terminal: handle case where eraseRowBounded happens at top of page
2024-04-13 20:53:45 -07:00
Mitchell Hashimoto
733ce19654 terminal: handle case where eraseRowBounded happens at top of page
Fixes #1677

If eraseRowBounded is called at the top of a page AND there is a tracked
pin at the top of the page, then we'd have an integer overflow. The test
case covers this and this adds a fix.
2024-04-13 20:45:39 -07:00
Mitchell Hashimoto
7a8c2fb8a0 Merge pull request #1623 from peteschaffner/titlebar-unzoom-button
Add un-zoom button to titlebar and tabs
2024-04-12 10:23:14 -07:00
Mitchell Hashimoto
9a198ba917 Merge pull request #1674 from mitchellh/debian_note
Mention Debian in compilation notes
2024-04-12 10:22:58 -07:00
Mitchell Hashimoto
5dece7f56f Merge pull request #1675 from jparise/titlebar-font-default
macos: fall back to the system titlebar font
2024-04-12 09:16:27 -07:00
Jon Parise
c09035f228 macos: fall back to the system titlebar font
We allow titlebarFont to be nil to differentiate between "system" (nil)
and "custom" (non-nil) behavior. For the "system" case, we need to use
the system _titlebar_ font (rather than just the default system font),
to match the system's conventions.
2024-04-12 09:05:35 -07:00
Nick Jones
df0af25cdb Mention Debian in compilation notes
A minor addition, but saves future folks wondering if they need to
figure out different packages on Debian in order to get Ghostty to
compile (they don't).
2024-04-12 09:47:19 +01:00