Commit Graph

12 Commits

Author SHA1 Message Date
Mitchell Hashimoto
2b6a1e41fc macos: avoid leaking ports while awaiting accessibility
#11799

Creating a CGEventTap without Accessibility permission leaks a Mach
port inside CoreGraphics on every failed attempt. The global keybind
listener retried this once per second while waiting for permission, so
Ghostty eventually exhausted the process port limit.

Request Accessibility access once, poll AXIsProcessTrusted while
access is denied, and create the event tap only after access is
granted. Stop polling before creation so an unrelated tap failure
cannot restart the leaking retry loop.
2026-08-03 20:41:39 -07:00
Claude Opus 4.7
eb5c1c7220 fix(macos): mark Swift os.Logger interpolations as public 2026-05-31 16:35:11 +02:00
Austin Drummond
3c2c596dc7 fix global keybinds from not repsonding anymore 2026-03-28 17:35:26 -04:00
Jon Parise
25b38b291e macos: swiftlint 'private_over_fileprivate' rule 2026-02-19 18:55:12 -05:00
Jon Parise
9287a61920 macos: swiftlint 'implicit_optional_initialization' rule 2026-02-19 18:36:38 -05:00
Jon Parise
56d67ce88f macos: swiftlint 'control_statement' rule 2026-02-19 18:34:37 -05:00
Daniel Wennberg
5244f8d6ac Follow-up to #7462: var -> let 2025-06-02 10:14:52 -07:00
Daniel Wennberg
d1501a4925 fix: properly intialize key event in GlobalEventTap 2025-05-27 22:33:15 -07:00
Mitchell Hashimoto
715df3f263 macos: global keybind event tap only handles events when app is inactive
Fixes #2403
2024-10-07 05:46:16 -10:00
Mitchell Hashimoto
689ee0f385 typos 2024-09-24 16:38:42 -07:00
Mitchell Hashimoto
ed7ac8aa21 macos: better enable timing depending on process launch time 2024-09-24 16:38:17 -07:00
Mitchell Hashimoto
1ad904478d Tap events, core API to handle global keybinds 2024-09-24 16:29:02 -07:00