@@ -6933,21 +6933,21 @@ struct ContentView: View {
69336933 private func closeOtherSelectedWorkspaces() {
69346934 guard let workspace = tabManager.selectedWorkspace else { return }
69356935 let workspaceIds = tabManager.tabs.compactMap { $0.id == workspace.id ? nil : $0.id }
6936- closeWorkspaceIds(workspaceIds, allowPinned: false )
6936+ closeWorkspaceIds(workspaceIds, allowPinned: true )
69376937 }
69386938
69396939 private func closeSelectedWorkspacesBelow() {
69406940 guard tabManager.selectedWorkspace != nil,
69416941 let anchorIndex = selectedWorkspaceIndex() else { return }
69426942 let workspaceIds = tabManager.tabs.suffix(from: anchorIndex + 1).map(\.id)
6943- closeWorkspaceIds(workspaceIds, allowPinned: false )
6943+ closeWorkspaceIds(workspaceIds, allowPinned: true )
69446944 }
69456945
69466946 private func closeSelectedWorkspacesAbove() {
69476947 guard tabManager.selectedWorkspace != nil,
69486948 let anchorIndex = selectedWorkspaceIndex() else { return }
69496949 let workspaceIds = tabManager.tabs.prefix(upTo: anchorIndex).map(\.id)
6950- closeWorkspaceIds(workspaceIds, allowPinned: false )
6950+ closeWorkspaceIds(workspaceIds, allowPinned: true )
69516951 }
69526952
69536953 private func syncSidebarSelectedWorkspaceIds() {
@@ -10881,6 +10881,13 @@ private struct TabItemView: View, Equatable {
1088110881
1088210882 var body: some View {
1088310883 let closeWorkspaceTooltip = String(localized: "sidebar.closeWorkspace.tooltip", defaultValue: "Close Workspace")
10884+ let protectedWorkspaceTooltip = String(
10885+ localized: "sidebar.pinnedWorkspaceProtected.tooltip",
10886+ defaultValue: "Pinned workspace. Closing requires confirmation."
10887+ )
10888+ let closeButtonTooltip = tab.isPinned
10889+ ? protectedWorkspaceTooltip
10890+ : KeyboardShortcutSettings.Action.closeWorkspace.tooltip(closeWorkspaceTooltip)
1088410891 let accessibilityHintText = String(localized: "sidebar.workspace.accessibilityHint", defaultValue: "Activate to focus this workspace. Drag to reorder, or use Move Up and Move Down actions.")
1088510892 let moveUpActionText = String(localized: "sidebar.workspace.moveUpAction", defaultValue: "Move Up")
1088610893 let moveDownActionText = String(localized: "sidebar.workspace.moveDownAction", defaultValue: "Move Down")
@@ -10942,6 +10949,7 @@ private struct TabItemView: View, Equatable {
1094210949 Image(systemName: "pin.fill")
1094310950 .font(.system(size: 9, weight: .semibold))
1094410951 .foregroundColor(activeSecondaryColor(0.8))
10952+ .safeHelp(protectedWorkspaceTooltip)
1094510953 }
1094610954
1094710955 Text(tab.title)
@@ -10965,7 +10973,7 @@ private struct TabItemView: View, Equatable {
1096510973 .foregroundColor(activeSecondaryColor(0.7))
1096610974 }
1096710975 .buttonStyle(.plain)
10968- .safeHelp(KeyboardShortcutSettings.Action.closeWorkspace.tooltip(closeWorkspaceTooltip) )
10976+ .safeHelp(closeButtonTooltip )
1096910977 .frame(width: SidebarTrailingAccessoryWidthPolicy.closeButtonWidth, height: 16, alignment: .center)
1097010978 .opacity(showCloseButton && !showsWorkspaceShortcutHint ? 1 : 0)
1097110979 .allowsHitTesting(showCloseButton && !showsWorkspaceShortcutHint)
@@ -11599,19 +11607,19 @@ private struct TabItemView: View, Equatable {
1159911607 private func closeOtherTabs(_ targetIds: [UUID]) {
1160011608 let keepIds = Set(targetIds)
1160111609 let idsToClose = tabManager.tabs.compactMap { keepIds.contains($0.id) ? nil : $0.id }
11602- closeTabs(idsToClose, allowPinned: false )
11610+ closeTabs(idsToClose, allowPinned: true )
1160311611 }
1160411612
1160511613 private func closeTabsBelow(tabId: UUID) {
1160611614 guard let anchorIndex = tabManager.tabs.firstIndex(where: { $0.id == tabId }) else { return }
1160711615 let idsToClose = tabManager.tabs.suffix(from: anchorIndex + 1).map { $0.id }
11608- closeTabs(idsToClose, allowPinned: false )
11616+ closeTabs(idsToClose, allowPinned: true )
1160911617 }
1161011618
1161111619 private func closeTabsAbove(tabId: UUID) {
1161211620 guard let anchorIndex = tabManager.tabs.firstIndex(where: { $0.id == tabId }) else { return }
1161311621 let idsToClose = tabManager.tabs.prefix(upTo: anchorIndex).map { $0.id }
11614- closeTabs(idsToClose, allowPinned: false )
11622+ closeTabs(idsToClose, allowPinned: true )
1161511623 }
1161611624
1161711625 private func markTabsRead(_ targetIds: [UUID]) {
0 commit comments