Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Sources/Bonsplit/Internal/Views/TabBarView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ struct TabBarView: View {
.overlay(alignment: .trailing) {
if showSplitButtons {
let shouldShow = presentationMode != "minimal" || isHoveringTabBar
let bg = TabBarColors.barBackground(for: appearance)
let bg = Color(nsColor: TabBarColors.nsColorPaneBackground(for: appearance).withAlphaComponent(1.0))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Fallback color semantically changed for non-themed setups

The previous code used TabBarColors.barBackground(for:), which falls back to .windowBackgroundColor (the standard macOS window chrome background, typically a warm light-gray ~#ECECEC in light mode). The new code uses nsColorPaneBackground(for:), which falls back to .textBackgroundColor (the document/text background, typically pure white #FFFFFF in light mode).

These system colors are visibly distinct, so in the default (un-themed) case the split-button backdrop will no longer match the rest of the tab bar background, potentially creating a noticeable seam between the tab strip and the backdrop rectangle.

If the intent is strictly to force opacity while keeping the same visual background, you could express this as:

let bg = Color(nsColor: TabBarColors.nsColorBarBackground(for: appearance).withAlphaComponent(1.0))

(adding a matching nsColorBarBackground helper that mirrors the existing nsColorPaneBackground pattern but uses .windowBackgroundColor as the fallback).

If the intent is genuinely to match the pane/terminal background colour behind the buttons (which makes sense when a terminal fills the pane), the change is correct as-is — but it may be worth a comment explaining why paneBackground rather than barBackground is used here.

ZStack(alignment: .trailing) {
// Backdrop: fade gradient then solid
HStack(spacing: 0) {
Expand Down
Loading