diff options
| author | Adam <[email protected]> | 2026-01-12 10:11:29 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-15 07:29:13 -0600 |
| commit | 679270d9e0731c2b3e2c059d83907cb4086d90e2 (patch) | |
| tree | 4e8d70a281b92f86a4b916ed45a5410ecbba0289 /packages/desktop/src-tauri/src | |
| parent | 9f66a45970d1edf12ae9b3e7a22d77711b5e51c3 (diff) | |
| download | opencode-679270d9e0731c2b3e2c059d83907cb4086d90e2.tar.gz opencode-679270d9e0731c2b3e2c059d83907cb4086d90e2.zip | |
feat(app): new layout
Diffstat (limited to 'packages/desktop/src-tauri/src')
| -rw-r--r-- | packages/desktop/src-tauri/src/lib.rs | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/packages/desktop/src-tauri/src/lib.rs b/packages/desktop/src-tauri/src/lib.rs index 0d5b585e8..15033fd56 100644 --- a/packages/desktop/src-tauri/src/lib.rs +++ b/packages/desktop/src-tauri/src/lib.rs @@ -14,7 +14,7 @@ use std::{ sync::{Arc, Mutex}, time::{Duration, Instant}, }; -use tauri::{AppHandle, LogicalSize, Manager, RunEvent, State, WebviewUrl, WebviewWindow}; +use tauri::{AppHandle, LogicalSize, Manager, RunEvent, State, WebviewWindowBuilder}; use tauri_plugin_dialog::{DialogExt, MessageDialogButtons, MessageDialogResult}; use tauri_plugin_shell::process::{CommandChild, CommandEvent}; use tauri_plugin_store::StoreExt; @@ -237,7 +237,14 @@ pub fn run() { } })) .plugin(tauri_plugin_os::init()) - .plugin(tauri_plugin_window_state::Builder::new().build()) + .plugin( + tauri_plugin_window_state::Builder::new() + .with_state_flags( + tauri_plugin_window_state::StateFlags::all() + - tauri_plugin_window_state::StateFlags::DECORATIONS, + ) + .build(), + ) .plugin(tauri_plugin_store::Builder::new().build()) .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_shell::init()) @@ -268,29 +275,25 @@ pub fn run() { .map(|m| m.size().to_logical(m.scale_factor())) .unwrap_or(LogicalSize::new(1920, 1080)); - #[allow(unused_mut)] - let mut window_builder = - WebviewWindow::builder(&app, "main", WebviewUrl::App("/".into())) - .title("OpenCode") - .inner_size(size.width as f64, size.height as f64) - .decorations(true) - .zoom_hotkeys_enabled(true) - .disable_drag_drop_handler() - .initialization_script(format!( - r#" + let config = app + .config() + .app + .windows + .iter() + .find(|w| w.label == "main") + .expect("main window config missing"); + + let window_builder = WebviewWindowBuilder::from_config(&app, config) + .expect("Failed to create window builder from config") + .inner_size(size.width as f64, size.height as f64) + .initialization_script(format!( + r#" window.__OPENCODE__ ??= {{}}; window.__OPENCODE__.updaterEnabled = {updater_enabled}; "# - )); - - #[cfg(target_os = "macos")] - { - window_builder = window_builder - .title_bar_style(tauri::TitleBarStyle::Overlay) - .hidden_title(true); - } + )); - window_builder.build().expect("Failed to create window"); + let _window = window_builder.build().expect("Failed to create window"); let (tx, rx) = oneshot::channel(); app.manage(ServerState::new(None, rx)); |
