#[macro_export]
macro_rules! run_external(
($cmd:tt) => {
{
Box::new(move |_: &mut $crate::manager::WindowManager| {
$crate::helpers::spawn($cmd);
}) as $crate::data_types::FireAndForget
}
};
);
#[macro_export]
macro_rules! run_internal(
($func:ident) => {
Box::new(|wm: &mut $crate::manager::WindowManager| {
wm.$func();
}) as $crate::data_types::FireAndForget
};
($func:ident, $($arg:expr),+) => {
Box::new(move |wm: &mut $crate::manager::WindowManager| {
wm.$func($($arg),+);
}) as $crate::data_types::FireAndForget
};
);