Fix #155: remap-aware bonsplit tooltips + browser split shortcuts (#200)

* Issue #155: remap bonsplit tooltips and add browser split shortcuts

* Fix split button mousedown feedback regression

* Match split button sizing with main
This commit is contained in:
Lawrence Chen 2026-02-20 15:17:00 -08:00 committed by GitHub
parent 573cec4a75
commit df9ba6dcd9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 219 additions and 5 deletions

View file

@ -105,12 +105,22 @@ final class Workspace: Identifiable, ObservableObject {
// MARK: - Initialization
private static func currentSplitButtonTooltips() -> BonsplitConfiguration.SplitButtonTooltips {
BonsplitConfiguration.SplitButtonTooltips(
newTerminal: KeyboardShortcutSettings.Action.newSurface.tooltip("New Terminal"),
newBrowser: KeyboardShortcutSettings.Action.openBrowser.tooltip("New Browser"),
splitRight: KeyboardShortcutSettings.Action.splitRight.tooltip("Split Right"),
splitDown: KeyboardShortcutSettings.Action.splitDown.tooltip("Split Down")
)
}
private static func bonsplitAppearance(from config: GhosttyConfig) -> BonsplitConfiguration.Appearance {
bonsplitAppearance(from: config.backgroundColor)
}
private static func bonsplitAppearance(from backgroundColor: NSColor) -> BonsplitConfiguration.Appearance {
BonsplitConfiguration.Appearance(
splitButtonTooltips: Self.currentSplitButtonTooltips(),
enableAnimations: false,
chromeColors: .init(backgroundHex: backgroundColor.hexString())
)
@ -208,6 +218,12 @@ final class Workspace: Identifiable, ObservableObject {
}
}
func refreshSplitButtonTooltips() {
var configuration = bonsplitController.configuration
configuration.appearance.splitButtonTooltips = Self.currentSplitButtonTooltips()
bonsplitController.configuration = configuration
}
// MARK: - Surface ID to Panel ID Mapping
/// Mapping from bonsplit TabID (surface ID) to panel UUID