diff --git a/packages/desktop/src-tauri/src/lib.rs b/packages/desktop/src-tauri/src/lib.rs index 5c3915e81a8..f50464a7baf 100644 --- a/packages/desktop/src-tauri/src/lib.rs +++ b/packages/desktop/src-tauri/src/lib.rs @@ -402,7 +402,7 @@ fn check_linux_app(app_name: &str) -> bool { #[tauri::command] #[specta::specta] fn wsl_path(path: String, mode: Option) -> Result { - if !cfg(windows) { + if !cfg!(windows) { return Ok(path); } diff --git a/packages/desktop/src-tauri/src/linux_display.rs b/packages/desktop/src-tauri/src/linux_display.rs index 9e1cf90918a..24fb27a4bfb 100644 --- a/packages/desktop/src-tauri/src/linux_display.rs +++ b/packages/desktop/src-tauri/src/linux_display.rs @@ -14,7 +14,7 @@ struct DisplayConfig { } fn dir() -> Option { - Some(dirs::data_dir()?.join("ai.opencode.desktop")) + Some(dirs::data_dir()?.join(if cfg!(debug_assertions) { "ai.opencode.desktop.dev" } else { "ai.opencode.desktop" })) } fn path() -> Option { @@ -22,10 +22,13 @@ fn path() -> Option { } pub fn read_wayland() -> Option { - let path = path()?; - let raw = std::fs::read_to_string(path).ok()?; - let config = serde_json::from_str::(&raw).ok()?; - config.wayland + let raw = std::fs::read_to_string(dbg!(path()?)).ok()?; + let root = serde_json::from_str::(&raw) + .ok()? + .get(LINUX_DISPLAY_CONFIG_KEY).cloned()?; + serde_json::from_value::(root) + .ok()? + .wayland } pub fn write_wayland(app: &AppHandle, value: bool) -> Result<(), String> {