Impostare le dimensioni della finestra in Tauri

Mattepuffo's logo
Impostare le dimensioni della finestra in Tauri

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!


Condividi

Commentami!