summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri/src
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-02-11 16:10:24 +0800
committerGitHub <[email protected]>2026-02-11 08:10:24 +0000
commit783888131efb8f9eef4516a33b15dc3d63d6e401 (patch)
tree73413762723fc083070e2b74a59cb7743214ae16 /packages/desktop/src-tauri/src
parent213a87234dd7579873787070e5f8ad98eb88bce8 (diff)
downloadopencode-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.rs2
-rw-r--r--packages/desktop/src-tauri/src/linux_display.rs13
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> {