Skip to content

Commit 6eb9351

Browse files
committed
fix: add category title in tab options
1 parent 0d1a1d9 commit 6eb9351

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/renderer/compositions/terminal.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ export function getTerminalTabsByCharacter(character: TerminalTabCharacter) {
113113
}
114114

115115
interface TerminalTabCategory {
116+
category?: {
117+
title: string,
118+
},
116119
items: {
117120
tab?: TerminalTab | undefined,
118121
character?: TerminalTabCharacter | undefined,
@@ -136,6 +139,7 @@ const tabCategories = $computed<TerminalTabCategory[]>(() => {
136139
},
137140
...orderedCategories.map<TerminalTabCategory>(category => {
138141
return {
142+
category,
139143
items: category.characters.flatMap(character => {
140144
const characterTabs = getTerminalTabsByCharacter(character)
141145
return characterTabs.length
@@ -503,11 +507,17 @@ export function showTabOptions(event?: MouseEvent, type?: string) {
503507
let number = 1
504508
let options: (MenuItem | MenuItem[])[] = []
505509
let defaultIndex = -1
506-
for (let index = 0; index < tabCategories.length; index += 1) {
507-
if (index) {
510+
for (const category of tabCategories) {
511+
if (category.category) {
508512
options.push([])
513+
if (process.platform === 'darwin') {
514+
options.push({
515+
type: 'header',
516+
label: category.category.title,
517+
})
518+
}
509519
}
510-
const items = tabCategories[index].items
520+
const items = category.items
511521
const enabledItems = filterTerminalTabsByKeyword(items, item => {
512522
return item.tab ? getTerminalTabTitle(item.tab) : item.character?.title ?? ''
513523
})
@@ -517,12 +527,12 @@ export function showTabOptions(event?: MouseEvent, type?: string) {
517527
defaultIndex = options.length
518528
}
519529
options.push({
520-
type: index ? 'checkbox' : 'normal',
530+
type: category.category ? 'checkbox' : 'normal',
521531
label: item.tab ? getTerminalTabTitle(item.tab) : item.character?.title,
522532
args: item.tab ? [currentIndex] : [item.character] as never,
523533
command: item.tab ? 'select-tab' : item.command as never,
524534
accelerator: number <= 9 ? String(number) : undefined,
525-
checked: index ? Boolean(item.tab) : undefined,
535+
checked: category.category ? Boolean(item.tab) : undefined,
526536
enabled: enabledItems.includes(item),
527537
})
528538
number += 1

0 commit comments

Comments
 (0)