1use std::cell::RefCell;
2use std::rc::Rc;
3
4use saucers::app::App;
5use saucers::options::AppOptions;
6use saucers::prefs::Preferences;
7use saucers::webview::Webview;
8use saucers::webview::events::NavigateEvent;
9
10fn main() {
14 let (_cc, app) = App::new(AppOptions::new("Navigation"));
15
16 let w = Webview::new(&Preferences::new(&app)).unwrap();
17
18 w.set_size(1152, 648);
19 w.set_url("https://saucer.app");
20
21 w.on::<NavigateEvent>(Box::new(move |w, nav| {
22 if nav.is_new_window() && nav.is_user_initiated() {
23 let app = w.app();
25 let new_window = Webview::new(&Preferences::new(&app)).unwrap();
26 new_window.set_url(nav.url());
27 new_window.set_size(1152, 648);
28 new_window.show();
29 }
31 true
32 }));
33
34 w.show();
35
36 app.run();
37}