Impostare le dimensioni della finestra in Tauri
In questo articolo vediamo due modi per impostare le dimensioni iniziali della finestra in Tauri.
Il primo è statico, e prevede dei dati fissi dentro al file src-tauri/tauri.conf.json.
Ve lo posto tutto:
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "tauri-book",
"version": "0.1.0",
"identifier": "com.fermat.tauri-book",
"build": {
"beforeDevCommand": "npm run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "npm run build",
"frontendDist": "../dist"
},
"app": {
"windows": [
{
"title": "MP Book",
"width": 1024,
"height": 768
}
],
"security": {
"csp": null
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}
Come vi ho indicato però in questo caso la dimensione è statica.
Se invece volessimo renderla all'80% della dimensione dello schermo?
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![greet])
.setup(|app| {
if let Some(window) = app.get_webview_window("main") {
if let Ok(Some(monitor)) = window.current_monitor() {
let size = monitor.size();
let scale_factor = monitor.scale_factor();
let width = (size.width as f64 * 0.8 / scale_factor) as u32;
let height = (size.height as f64 * 0.8 / scale_factor) as u32;
let _ = window
.set_size(tauri::Size::Physical(tauri::PhysicalSize { width, height }));
let _ = window.center();
}
}
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Enjoy!
rust tauri current_monitor
Commentami!