diff options
| author | Brendan Allan <[email protected]> | 2026-02-11 16:10:24 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-11 08:10:24 +0000 |
| commit | 783888131efb8f9eef4516a33b15dc3d63d6e401 (patch) | |
| tree | 73413762723fc083070e2b74a59cb7743214ae16 /packages/desktop/src-tauri/src | |
| parent | 213a87234dd7579873787070e5f8ad98eb88bce8 (diff) | |
| download | opencode-783888131efb8f9eef4516a33b15dc3d63d6e401.tar.gz opencode-783888131efb8f9eef4516a33b15dc3d63d6e401.zip | |
fix(desktop): read wayland preference from store (#13081)
Diffstat (limited to 'packages/desktop/src-tauri/src')
| -rw-r--r-- | packages/desktop/src-tauri/src/lib.rs | 2 | ||||
| -rw-r--r-- | packages/desktop/src-tauri/src/linux_display.rs | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/packages/desktop/src-tauri/src/lib.rs b/packages/desktop/src-tauri/src/lib.rs index 5c3915e81..f50464a7b 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<WslPathMode>) -> Result<String, String> { - 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 9e1cf9091..24fb27a4b 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<PathBuf> { - 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<PathBuf> { @@ -22,10 +22,13 @@ fn path() -> Option<PathBuf> { } pub fn read_wayland() -> Option<bool> { - let path = path()?; - let raw = std::fs::read_to_string(path).ok()?; - let config = serde_json::from_str::<DisplayConfig>(&raw).ok()?; - config.wayland + let raw = std::fs::read_to_string(dbg!(path()?)).ok()?; + let root = serde_json::from_str::<serde_json::Value>(&raw) + .ok()? + .get(LINUX_DISPLAY_CONFIG_KEY).cloned()?; + serde_json::from_value::<DisplayConfig>(root) + .ok()? + .wayland } pub fn write_wayland(app: &AppHandle, value: bool) -> Result<(), String> { |
