summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri/src
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-12 10:11:29 -0600
committerAdam <[email protected]>2026-01-15 07:29:13 -0600
commit679270d9e0731c2b3e2c059d83907cb4086d90e2 (patch)
tree4e8d70a281b92f86a4b916ed45a5410ecbba0289 /packages/desktop/src-tauri/src
parent9f66a45970d1edf12ae9b3e7a22d77711b5e51c3 (diff)
downloadopencode-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.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));