From 315505453194ec9a1fee6ccb676412d72ad673e6 Mon Sep 17 00:00:00 2001 From: Maarten van Heusden <50550545+mmvanheusden@users.noreply.github.com> Date: Sun, 22 Dec 2024 20:42:52 +0100 Subject: [PATCH] fix: macOS --- src-tauri/src/main.rs | 4 +++- src-tauri/src/terminal.rs | 7 ++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index e1b29ca4..cd6cebf3 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -44,6 +44,8 @@ async fn start_download(steam_download: steam::SteamDownload, app: AppHandle) { let default_terminal = TERMINAL.get().unwrap(); let shell = app.shell(); let terminal_to_use = if steam_download.options().terminal().is_none() { default_terminal.first().unwrap() } else { &Terminal::from_index(&steam_download.options().terminal().unwrap()).unwrap() }; + // Also change working directory + std::env::set_current_dir(&WORKING_DIR.get().unwrap()).unwrap(); println!("\n-------------------------DEBUG INFO------------------------"); println!("received these values from frontend:"); @@ -139,4 +141,4 @@ fn main() { preload_vectum, get_all_terminals ]).run(tauri::generate_context!()).expect("error while running tauri application"); -} \ No newline at end of file +} diff --git a/src-tauri/src/terminal.rs b/src-tauri/src/terminal.rs index 54bd2b19..104cfb26 100644 --- a/src-tauri/src/terminal.rs +++ b/src-tauri/src/terminal.rs @@ -206,16 +206,13 @@ impl Terminal { } Terminal::Terminal => { // Create a bash script and run that. Not very secure but it makes this easier. - let download_script = format!("#!/bin/bash\ncd {}\n{}",working_dir.as_path().display(), command[0]); - // println!("{}", download_script); + let download_script = format!("#!/bin/bash\ncd {}\n{}",working_dir.to_str().unwrap().replace(" ", "\\ "), command[0]); fs::write("./script.sh", download_script).unwrap(); #[cfg(unix)] { - //todo: test if still working use std::os::unix::fs::PermissionsExt; - fs::set_permissions("./script.sh", fs::Permissions::from_mode(0o755)).unwrap(); // Won't run without executable permission } @@ -309,4 +306,4 @@ fn create_depotdownloader_command(steam_download: &SteamDownload) -> Vec vec![format!(r#".\DepotDownloader.exe -username {} -password {} -app {} -depot {} -manifest {} -dir {}"#, steam_download.username().clone().unwrap(), steam_download.password().clone().unwrap(), steam_download.app_id(), steam_download.depot_id(), steam_download.manifest_id(), output_dir)] } } -} \ No newline at end of file +}