summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/desktop/src-tauri/src')
-rw-r--r--packages/desktop/src-tauri/src/lib.rs45
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));