From 7f28e615fa9d52dffff4df1560de25a23f2e6970 Mon Sep 17 00:00:00 2001 From: uadhran Date: Tue, 24 Mar 2026 16:18:08 +0530 Subject: [PATCH 1/2] fix: hide blacklisted profiles from OS dock/taskbar menu --- tabby-electron/src/services/dockMenu.service.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tabby-electron/src/services/dockMenu.service.ts b/tabby-electron/src/services/dockMenu.service.ts index 06e4169c77..a88f101c95 100644 --- a/tabby-electron/src/services/dockMenu.service.ts +++ b/tabby-electron/src/services/dockMenu.service.ts @@ -19,14 +19,16 @@ export class DockMenuService { } async update (): Promise { - const profiles = await this.profilesService.getProfiles() + let profiles = await this.profilesService.getProfiles() + profiles = profiles.filter(x => x.id && !this.configService.store.profileBlacklist.includes(x.id)) + const recentProfiles = this.profilesService.getRecentProfiles().filter(x => x.id && !this.configService.store.profileBlacklist.includes(x.id)) if (this.hostApp.platform === Platform.Windows) { this.electron.app.setJumpList([ { type: 'custom', name: this.translate.instant('Recent'), - items: this.profilesService.getRecentProfiles().map((profile, index) => ({ + items: recentProfiles.map((profile, index) => ({ type: 'task', program: process.execPath, args: `recent ${index}`, @@ -39,8 +41,7 @@ export class DockMenuService { type: 'custom', name: this.translate.instant('Profiles'), items: profiles.map(profile => ({ - type: 'task', - program: process.execPath, + type: 'task', program: process.execPath, args: `profile "${profile.name}"`, title: profile.name, iconPath: process.execPath, @@ -52,7 +53,7 @@ export class DockMenuService { if (this.hostApp.platform === Platform.macOS) { this.electron.app.dock?.setMenu(this.electron.Menu.buildFromTemplate( [ - ...[...this.profilesService.getRecentProfiles(), ...profiles].map(profile => ({ + ...[...recentProfiles, ...profiles].map(profile => ({ label: profile.name, click: () => this.zone.run(async () => { this.profilesService.openNewTabForProfile(profile) From 57168b154e6680c3c612aefe3b4ae0f8d1c0a267 Mon Sep 17 00:00:00 2001 From: uadhran Date: Tue, 24 Mar 2026 17:45:57 +0530 Subject: [PATCH 2/2] fix: store ConfigService in DockMenuService --- tabby-electron/src/services/dockMenu.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tabby-electron/src/services/dockMenu.service.ts b/tabby-electron/src/services/dockMenu.service.ts index a88f101c95..fcdc833481 100644 --- a/tabby-electron/src/services/dockMenu.service.ts +++ b/tabby-electron/src/services/dockMenu.service.ts @@ -8,14 +8,14 @@ export class DockMenuService { appVersion: string private constructor ( - config: ConfigService, + private configService: ConfigService, private electron: ElectronService, private hostApp: HostAppService, private zone: NgZone, private profilesService: ProfilesService, private translate: TranslateService, ) { - config.changed$.subscribe(() => this.update()) + this.configService.changed$.subscribe(() => this.update()) } async update (): Promise {