summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/desktop/src')
-rw-r--r--packages/desktop/src/bindings.ts1
-rw-r--r--packages/desktop/src/index.tsx7
2 files changed, 7 insertions, 1 deletions
diff --git a/packages/desktop/src/bindings.ts b/packages/desktop/src/bindings.ts
index 2db1a624c..c7bcaba9c 100644
--- a/packages/desktop/src/bindings.ts
+++ b/packages/desktop/src/bindings.ts
@@ -14,6 +14,7 @@ export const commands = {
setDisplayBackend: (backend: LinuxDisplayBackend) => __TAURI_INVOKE<null>("set_display_backend", { backend }),
parseMarkdownCommand: (markdown: string) => __TAURI_INVOKE<string>("parse_markdown_command", { markdown }),
checkAppExists: (appName: string) => __TAURI_INVOKE<boolean>("check_app_exists", { appName }),
+ resolveAppPath: (appName: string) => __TAURI_INVOKE<string | null>("resolve_app_path", { appName }),
};
/** Events */
diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx
index 25e9f825c..0e2fcb7fe 100644
--- a/packages/desktop/src/index.tsx
+++ b/packages/desktop/src/index.tsx
@@ -98,7 +98,12 @@ const createPlatform = (password: Accessor<string | null>): Platform => ({
void shellOpen(url).catch(() => undefined)
},
- openPath(path: string, app?: string) {
+ async openPath(path: string, app?: string) {
+ const os = ostype()
+ if (os === "windows" && app) {
+ const resolvedApp = await commands.resolveAppPath(app)
+ return openerOpenPath(path, resolvedApp || app)
+ }
return openerOpenPath(path, app)
},