diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index b2507a3..26b4535 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -911,6 +911,7 @@ dependencies = [ "tauri-plugin-fs", "tauri-plugin-opener", "tauri-plugin-os", + "tauri-plugin-process", ] [[package]] @@ -3787,6 +3788,16 @@ dependencies = [ "thiserror 2.0.17", ] +[[package]] +name = "tauri-plugin-process" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55511a7bf6cd70c8767b02c97bf8134fa434daf3926cfc1be0a0f94132d165a" +dependencies = [ + "tauri", + "tauri-plugin", +] + [[package]] name = "tauri-runtime" version = "2.9.2" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 6724c76..bb8641e 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -25,4 +25,5 @@ serde_json = "1" tauri-plugin-fs = "2.4.5" tauri-plugin-os = "2" tauri-plugin-dialog = "2" +tauri-plugin-process = "2" diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index c78b417..eabf557 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -26,14 +26,15 @@ }, "os:default", "opener:default", + { + "identifier": "opener:allow-open-path", + "allow": [ { - "identifier": "opener:allow-open-path", - "allow": [ - { - "path": "/**" - } - ] - }, - "dialog:default" + "path": "/**" + } + ] + }, + "dialog:default", + "process:default" ] -} +} \ No newline at end of file diff --git a/src-tauri/package-lock.json b/src-tauri/package-lock.json index 1513cbd..398f09f 100644 --- a/src-tauri/package-lock.json +++ b/src-tauri/package-lock.json @@ -7,7 +7,8 @@ "dependencies": { "@tauri-apps/plugin-dialog": "^2.6.0", "@tauri-apps/plugin-opener": "^2.5.3", - "@tauri-apps/plugin-os": "^2.3.2" + "@tauri-apps/plugin-os": "^2.3.2", + "@tauri-apps/plugin-process": "^2.3.1" } }, "node_modules/@tauri-apps/api": { @@ -46,6 +47,15 @@ "dependencies": { "@tauri-apps/api": "^2.8.0" } + }, + "node_modules/@tauri-apps/plugin-process": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-process/-/plugin-process-2.3.1.tgz", + "integrity": "sha512-nCa4fGVaDL/B9ai03VyPOjfAHRHSBz5v6F/ObsB73r/dA3MHHhZtldaDMIc0V/pnUw9ehzr2iEG+XkSEyC0JJA==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } } } } diff --git a/src-tauri/package.json b/src-tauri/package.json index 4d91c55..0289ac7 100644 --- a/src-tauri/package.json +++ b/src-tauri/package.json @@ -2,6 +2,7 @@ "dependencies": { "@tauri-apps/plugin-dialog": "^2.6.0", "@tauri-apps/plugin-opener": "^2.5.3", - "@tauri-apps/plugin-os": "^2.3.2" + "@tauri-apps/plugin-os": "^2.3.2", + "@tauri-apps/plugin-process": "^2.3.1" } } diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 3361654..e3e94aa 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -12,6 +12,7 @@ fn rename(invoke_message: String) { #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() + .plugin(tauri_plugin_process::init()) .plugin(tauri_plugin_opener::init()) .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_os::init()) diff --git a/src/wrapper.js b/src/wrapper.js index bb117a3..3ac1b26 100644 --- a/src/wrapper.js +++ b/src/wrapper.js @@ -5,6 +5,7 @@ const { invoke } = window.__TAURI__.core; const os = window.__TAURI__.os; const dialog = window.__TAURI__.dialog; const opener = window.__TAURI__.opener; +const process = window.__TAURI__.process; const separator = os.family() == "windows" ? "\\" : "/"; @@ -238,3 +239,8 @@ app.ports.createDirectory.subscribe(function (dirPath) { app.ports.receiveError.send(msg); }); }); + +// Quit the app +app.ports.quit.subscribe(function () { + process.exit(); +});