diff --git a/lib/cwtch/ffi.dart b/lib/cwtch/ffi.dart index 82de6c74..bd8462d3 100644 --- a/lib/cwtch/ffi.dart +++ b/lib/cwtch/ffi.dart @@ -115,10 +115,19 @@ class CwtchFfi implements Cwtch { bundledTor = "Tor\\Tor\\tor.exe"; } else if (Platform.isMacOS) { cwtchDir = envVars['CWTCH_HOME'] ?? path.join(envVars['HOME']!, "Library/Application Support/Cwtch"); - if (await File("Cwtch.app/Contents/MacOS/Tor/tor.real").exists()) { - bundledTor = "Cwtch.app/Contents/MacOS/Tor/tor.real"; + if (await File("/Applications/Cwtch.app/Contents/MacOS/Tor/tor.real").exists()) { + bundledTor = "/Applications/Cwtch.app/Contents/MacOS/Tor/tor.real"; } else if (await File("/Volumes/Cwtch/Cwtch.app/Contents/MacOS/Tor/tor.real").exists()) { bundledTor = "/Volumes/Cwtch/Cwtch.app/Contents/MacOS/Tor/tor.real"; + } else { + var splitPath = path.split(dirname(Platform.script.path)); + if (splitPath[0] == "/" && splitPath[1] == "Applications"){ + var appName = splitPath[2]; + print("We're running in /Applications in a non standard app name: $appName"); + if (await File("/Applications/$appName/Contents/MacOS/Tor/tor.real").exists()) { + bundledTor = "/Applications/$appName/Contents/MacOS/Tor/tor.real"; + } + } } }