diff --git a/Sources/GhosttyTerminalView.swift b/Sources/GhosttyTerminalView.swift index 0c3068b0659..d67f2655db9 100644 --- a/Sources/GhosttyTerminalView.swift +++ b/Sources/GhosttyTerminalView.swift @@ -2592,6 +2592,24 @@ class GhosttyApp { } } return true + case ghostty_action_tag_e(rawValue: 64): // GHOSTTY_ACTION_SET_TAB_TITLE (moved to end to avoid shifting existing values) + let title = action.action.set_title.title + .flatMap { String(cString: $0) } ?? "" + if let tabId = surfaceView.tabId, + let surfaceId = surfaceView.terminalSurface?.id { + DispatchQueue.main.async { + NotificationCenter.default.post( + name: .ghosttyDidSetTitle, + object: surfaceView, + userInfo: [ + GhosttyNotificationKey.tabId: tabId, + GhosttyNotificationKey.surfaceId: surfaceId, + GhosttyNotificationKey.title: title, + ] + ) + } + } + return true case GHOSTTY_ACTION_PWD: guard let tabId = surfaceView.tabId, let surfaceId = surfaceView.terminalSurface?.id else { return true } diff --git a/ghostty b/ghostty index bc9be90a219..40c3dcd373c 160000 --- a/ghostty +++ b/ghostty @@ -1 +1 @@ -Subproject commit bc9be90a21997a4e5f06bf15ae2ec0f937c2dc42 +Subproject commit 40c3dcd373c52894b96ab92dd17f4d35752a68d6 diff --git a/scripts/ghosttykit-checksums.txt b/scripts/ghosttykit-checksums.txt index 1e45a32adf4..2829137eed4 100644 --- a/scripts/ghosttykit-checksums.txt +++ b/scripts/ghosttykit-checksums.txt @@ -8,3 +8,7 @@ c47010b80cd9ae6d1ab744c120f011a465521ea3 d6904870a3c920b2787b1c4b950cfdef232606b 312c7b23a7c8dc0704431940d76ba5dc32a46afb ae73cb18a9d6efec42126a1d99e0e9d12022403d7dc301dfa21ed9f7c89c9e30 404a3f175ba6baafabc46cac807194883e040980 bcbd2954f4746fe5bcb4bfca6efeddd3ea355fda2836371f4c7150271c58acbd bc9be90a21997a4e5f06bf15ae2ec0f937c2dc42 6b83b66768e8bba871a3753ae8ffbaabd03370b306c429cd86c9cdcc8db82589 +f2f7b140d0b5b351df3d813346d25b60f9532661 b1ae01a37932738c8e81d594a753f11002b5a8ef2158e13bfbb7ff8f159c54d9 +ce2181d52d6208f0bad8761c31e25dd68b5bb10f f75c6ddf111b6de49104e3cc993408a4f1273170f9424bf0391ad3a4b256c282 +fa0769f3f5d62971240798b3a6f16dd849b8f597 76253c2a644d881ebcc0a092908b3f5eec51375cd335e76ff5efbde220bb9a76 +40c3dcd373c52894b96ab92dd17f4d35752a68d6 51a31904092ab99fa395b10cb8bd96fd36a0b25bf8bf60bdbe65e8a99d9bc334