Module workflow_nw::tray
source · Expand description
Builder for the application system Tray menu.
§Synopsis
use workflow_nw::prelude::*;
use workflow_nw::result::Result;
use workflow_nw::tray::TrayMenuBuilder;
use workflow_dom::utils::window;
use wasm_bindgen::JsValue;
// create Tray icon menu without submenus
TrayMenuBuilder::new()
.icon("resources/icons/tray-icon@2x.png")
.icons_are_templates(false)
.callback(|_|{
window().alert_with_message("Tray menu click")?;
Ok(())
})
.build()?;
// create Tray menu icon with submenus
let submenu_1 = MenuItemBuilder::new()
.label("Say hi")
.key("6")
.modifiers("ctrl")
.callback(move |_|->std::result::Result<(), JsValue>{
window().alert_with_message("hi")?;
Ok(())
}).build()?;
let exit_menu = MenuItemBuilder::new()
.label("Exit")
.callback(move |_|->std::result::Result<(), JsValue>{
nw_sys::app::close_all_windows();
Ok(())
}).build()?;
let _tray = TrayMenuBuilder::new()
.icon("resources/icons/tray-icon@2x.png")
.icons_are_templates(false)
.submenus(vec![submenu_1, menu_separator(), exit_menu])
.build()?;
Structs§
- Provides a builder pattern for constructing a system tray menu for the application.