mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-04-01 10:01:07 +02:00
* feat: update to latest wry * wry dev branch [skip ci] * fix linux [skip ci] * refactor(runtime): split webview and window types * split dispatch * implement create_webview * move webview message * wip webview mod * create webview manager, finish webview struct and builder * fix tests and docs * rename WindowUrl to WebviewUrl * update examples * event refactor * update JS API * fix events * update example * add WebviewWindow class on JS * fix macos build * allow creating window+webview on the same runtime call * rename tauri://window-created to tauri://webview-created * Window::add_child * use inner_size from webview on macOS * add multiwebview example * automatically resize webviews on window resize * fix tests * set_position, set_size * position, size getters * set_focus * add close fn * update mock runtime * lint [skip ci] * fix inner_size getter [skip ci] * import hwnd [skip ci] * update webview bound ratios on set_size/set_position * add auto_resize option * fix android * fix build on windows * typo * with_webview isnt desktop only * add WebviewWindow rust struct (and builder) * fix build on android * license header * fix macos/windows * fix macos build * resolve todo * handle window not found * hide unstable features * document unstable feature [skip ci] * webview plugin permissions * hide more stuff * fix doctests * typos * add change files * fix examples * rename hook
36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
|
|
|
use tauri::{webview::PageLoadEvent, WebviewWindowBuilder};
|
|
|
|
fn main() {
|
|
tauri::Builder::default()
|
|
.on_page_load(|webview, payload| {
|
|
if payload.event() == PageLoadEvent::Finished {
|
|
let label = webview.label().to_string();
|
|
webview.listen("clicked".to_string(), move |_payload| {
|
|
println!("got 'clicked' event on window '{label}'");
|
|
});
|
|
}
|
|
})
|
|
.setup(|app| {
|
|
#[allow(unused_mut)]
|
|
let mut builder =
|
|
WebviewWindowBuilder::new(app, "Rust", tauri::WebviewUrl::App("index.html".into()));
|
|
#[cfg(target_os = "macos")]
|
|
{
|
|
builder = builder.tabbing_identifier("Rust");
|
|
}
|
|
let _webview = builder.title("Tauri - Rust").build()?;
|
|
|
|
Ok(())
|
|
})
|
|
.run(tauri::generate_context!(
|
|
"../../examples/multiwindow/tauri.conf.json"
|
|
))
|
|
.expect("failed to run tauri application");
|
|
}
|