123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // Copyright 2019-2023 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
- fn main() {
- use tauri::{
- api::process::{Command, CommandEvent},
- Manager,
- };
- tauri::Builder::default()
- .setup(move |app| {
- let window = app.get_window("main").unwrap();
- let script_path = app
- .path_resolver()
- .resolve_resource("assets/index.js")
- .unwrap()
- .to_string_lossy()
- .to_string();
- tauri::async_runtime::spawn(async move {
- let (mut rx, _child) = Command::new("node")
- .args(&[script_path])
- .spawn()
- .expect("Failed to spawn node");
- #[allow(clippy::collapsible_match)]
- while let Some(event) = rx.recv().await {
- if let CommandEvent::Stdout(line) = event {
- window
- .emit("message", Some(format!("'{}'", line)))
- .expect("failed to emit event");
- }
- }
- });
- Ok(())
- })
- .run(tauri::tauri_build_context!())
- .expect("error while running tauri application");
- }
|