desktop: maximize main window by default (#12433)
This commit is contained in:
@@ -15,7 +15,7 @@ use std::{
|
|||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
time::{Duration, Instant},
|
time::{Duration, Instant},
|
||||||
};
|
};
|
||||||
use tauri::{AppHandle, LogicalSize, Manager, RunEvent, State, WebviewWindowBuilder};
|
use tauri::{AppHandle, Manager, RunEvent, State, WebviewWindowBuilder};
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
use tauri_plugin_decorum::WebviewWindowExt;
|
use tauri_plugin_decorum::WebviewWindowExt;
|
||||||
#[cfg(any(target_os = "linux", all(debug_assertions, windows)))]
|
#[cfg(any(target_os = "linux", all(debug_assertions, windows)))]
|
||||||
@@ -32,7 +32,7 @@ const SETTINGS_STORE: &str = "opencode.settings.dat";
|
|||||||
const DEFAULT_SERVER_URL_KEY: &str = "defaultServerUrl";
|
const DEFAULT_SERVER_URL_KEY: &str = "defaultServerUrl";
|
||||||
|
|
||||||
fn window_state_flags() -> StateFlags {
|
fn window_state_flags() -> StateFlags {
|
||||||
StateFlags::all() - StateFlags::DECORATIONS
|
StateFlags::all() - StateFlags::DECORATIONS - StateFlags::VISIBLE
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, serde::Serialize, specta::Type)]
|
#[derive(Clone, serde::Serialize, specta::Type)]
|
||||||
@@ -326,11 +326,6 @@ pub fn run() {
|
|||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
app.manage(JobObjectState::new());
|
app.manage(JobObjectState::new());
|
||||||
|
|
||||||
let primary_monitor = app.primary_monitor().ok().flatten();
|
|
||||||
let size = primary_monitor
|
|
||||||
.map(|m| m.size().to_logical(m.scale_factor()))
|
|
||||||
.unwrap_or(LogicalSize::new(1920, 1080));
|
|
||||||
|
|
||||||
let config = app
|
let config = app
|
||||||
.config()
|
.config()
|
||||||
.app
|
.app
|
||||||
@@ -341,7 +336,7 @@ pub fn run() {
|
|||||||
|
|
||||||
let window_builder = WebviewWindowBuilder::from_config(&app, config)
|
let window_builder = WebviewWindowBuilder::from_config(&app, config)
|
||||||
.expect("Failed to create window builder from config")
|
.expect("Failed to create window builder from config")
|
||||||
.inner_size(size.width as f64, size.height as f64)
|
.maximized(true)
|
||||||
.initialization_script(format!(
|
.initialization_script(format!(
|
||||||
r#"
|
r#"
|
||||||
window.__OPENCODE__ ??= {{}};
|
window.__OPENCODE__ ??= {{}};
|
||||||
@@ -584,6 +579,7 @@ fn setup_window_state_listener(app: &tauri::AppHandle, window: &tauri::WebviewWi
|
|||||||
let handle = app.clone();
|
let handle = app.clone();
|
||||||
let app = app.clone();
|
let app = app.clone();
|
||||||
let _ = handle.run_on_main_thread(move || {
|
let _ = handle.run_on_main_thread(move || {
|
||||||
|
println!("saving window state");
|
||||||
let _ = app.save_window_state(window_state_flags());
|
let _ = app.save_window_state(window_state_flags());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user