summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri/src/linux_display.rs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/desktop/src-tauri/src/linux_display.rs')
-rw-r--r--packages/desktop/src-tauri/src/linux_display.rs13
1 files changed, 8 insertions, 5 deletions
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> {