From f76d7df549e95e1699651f59916e9a38f0f58985 Mon Sep 17 00:00:00 2001 From: Michael Hackner Date: Thu, 13 Aug 2026 08:00:32 -0700 Subject: fix: keep tab and sidebar clicks when the terminal reports a stray drag (#2736) * fix: keep tab and sidebar clicks when the terminal reports a stray drag This works around a Ghostty bug that causes herdr tabs to be unclickable in fullscreen mode. Ghostty on macOS in native fullscreen emits one motion report after a fresh press in the strip where the menu bar reveals, with the row shifted to near the bottom of the grid. The cause is upstream: macOS delivers one mouse event whose y is nearly a window height away from the real pointer, and Ghostty reports it as it arrives (iTerm2 and Terminal.app report the same clicks correctly). Herdr treated the stray report as a real drag and lost the click two ways: it opened a tab reorder with no drop target, making the release a no-op, and it handed the release to the pane under the bogus coordinates. Now, a press on the tab bar or sidebar owns the gesture until release, and a tab drag only starts once the pointer is over a real drop target. refs #796 * fix: scope chrome mouse gestures to their input source * fix: preserve chrome drag input source * fix: preserve concurrent chrome presses --------- Co-authored-by: Ogulcan Celik --- docs/next/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/next/CHANGELOG.md b/docs/next/CHANGELOG.md index 07a46609..f67e855b 100644 --- a/docs/next/CHANGELOG.md +++ b/docs/next/CHANGELOG.md @@ -21,6 +21,7 @@ ### Fixed - `prefix+e` now preserves logical lines when opening soft-wrapped scrollback in an editor. (#2733) +- Tab bar clicks are now properly registered when using Ghostty in native fullscreen. (#796, #2736, thanks @HackAttack) - Prefix keybindings now disambiguate layout-aware shifted punctuation, so a shifted `\` no longer triggers `prefix+|` on keyboard layouts where the same key produces both characters. (#2674) - Remote clients now continue redrawing at very large terminal sizes instead of freezing when a full ANSI frame exceeds the transport limit. (#2670) - OpenCode panes now track the root conversation selected in their own TUI for native restore without adopting activity from attached clients. (#2450) -- cgit v1.2.3