use bevy::prelude::*;
use tray_icon::menu::MenuId;
#[derive(Message, Debug, Eq, PartialEq)]
pub struct MenuMessage {
pub id: MenuId,
}
pub(crate) struct MenuEventPlugin;
impl Plugin for MenuEventPlugin {
fn build(&self, app: &mut App) {
app.add_message::<MenuMessage>()
.add_systems(Update, menu_event);
}
}
fn menu_event(mut ew: MessageWriter<MenuMessage>) {
while let Ok(event) = tray_icon::menu::MenuEvent::receiver().try_recv() {
ew.write(MenuMessage { id: event.id });
}
}