From 6865bd7fbb9abedf3e1ba5ba9672eeedbabfa300 Mon Sep 17 00:00:00 2001 From: Anton Date: Wed, 28 Oct 2026 10:21:48 +0200 Subject: [PATCH] feat(settings): add Devin Desktop (formerly Windsurf) to the Open In Apps presets (#18868) Add a Devin Desktop preset to the Open In Apps catalog, launched via its documented `devin-desktop` command (`devin` is the separate Devin CLI agent), and make the setting searchable by "windsurf", "devin" and "devin desktop". Co-authored-by: Anton Kuligin Co-authored-by: Neil --- .../settings/GeneralWorkspaceSettingsSection.tsx | 3 +++ .../src/components/settings/general-search.ts | 6 ++++++ src/renderer/src/i18n/locales/en.json | 14 ++++++++++++++ src/renderer/src/lib/open-in-app-catalog.tsx | 7 +++++++ 4 files changed, 30 insertions(+) diff --git a/src/renderer/src/components/settings/GeneralWorkspaceSettingsSection.tsx b/src/renderer/src/components/settings/GeneralWorkspaceSettingsSection.tsx index b914ca4624f..f2c65e518b9 100644 --- a/src/renderer/src/components/settings/GeneralWorkspaceSettingsSection.tsx +++ b/src/renderer/src/components/settings/GeneralWorkspaceSettingsSection.tsx @@ -216,6 +216,9 @@ export function GeneralWorkspaceSettingsSection({ 'launcher', 'cursor', 'zed', + 'windsurf', + 'devin', + 'devin desktop', 'command', 'vscode', 'finder', diff --git a/src/renderer/src/components/settings/general-search.ts b/src/renderer/src/components/settings/general-search.ts index f48bb29a384..acae2ef8271 100644 --- a/src/renderer/src/components/settings/general-search.ts +++ b/src/renderer/src/components/settings/general-search.ts @@ -103,6 +103,12 @@ export const getGeneralWorkspaceSearchEntries = createLocalizedCatalog(() => [ ...translateSearchKeyword('auto.components.settings.general.search.8fb00fcd05', 'launcher'), ...translateSearchKeyword('auto.components.settings.general.search.0cb3d94f00', 'cursor'), ...translateSearchKeyword('auto.components.settings.general.search.ebf8f056b5', 'zed'), + ...translateSearchKeyword('settings.general.openInMenu.keyword.windsurf', 'windsurf'), + ...translateSearchKeyword('settings.general.openInMenu.keyword.devin', 'devin'), + ...translateSearchKeyword( + 'settings.general.openInMenu.keyword.devinDesktop', + 'devin desktop' + ), ...translateSearchKeyword('auto.components.settings.general.search.dbeb1f348e', 'command'), ...translateSearchKeyword('auto.components.settings.general.search.68d03d9980', 'vscode'), ...translateSearchKeyword('auto.components.settings.general.search.c9d9636f24', 'finder'), diff --git a/src/renderer/src/i18n/locales/en.json b/src/renderer/src/i18n/locales/en.json index 6e64ae96bc5..05711e13dda 100644 --- a/src/renderer/src/i18n/locales/en.json +++ b/src/renderer/src/i18n/locales/en.json @@ -642,6 +642,20 @@ "actionPermissions": { "sameAsAgent": "Same as {{agent}}" } + }, + "general": { + "openInMenu": { + "keyword": { + "windsurf": "windsurf", + "devin": "devin", + "devinDesktop": "devin desktop" + } + } + }, + "openInApp": { + "preset": { + "devinDesktop": "Devin Desktop" + } } }, "menu": { diff --git a/src/renderer/src/lib/open-in-app-catalog.tsx b/src/renderer/src/lib/open-in-app-catalog.tsx index a2ed0526354..648d6fba935 100644 --- a/src/renderer/src/lib/open-in-app-catalog.tsx +++ b/src/renderer/src/lib/open-in-app-catalog.tsx @@ -33,6 +33,13 @@ export const getOpenInAppPresets = createLocalizedCatalog(() => [ faviconDomain: 'zed.dev', // Why: Zed's favicon is a black transparent mark, which disappears on dark menus. iconClassName: 'dark:invert' + }, + { + id: 'devin-desktop', + label: translate('settings.openInApp.preset.devinDesktop', 'Devin Desktop'), + // Why: Devin Desktop (formerly Windsurf) installs this launcher; `devin` is the Devin CLI agent. + command: 'devin-desktop', + faviconDomain: 'devin.ai' } ])