A flutter plugin that create and manage multi window in wayland.
To use this plugin, add wayland_multi_window
as a dependency in your pubspec.yaml file.
final window = await WaylandMultiWindow.createWindow(jsonEncode({
'args1': 'Sub window',
'args2': 100,
'args3': true,
'bussiness': 'bussiness_test',
}));
window
..setFrame(const Offset(0, 0) & const Size(1280, 720))
..center()
..setTitle('Another window')
..show();
The windows run on different flutter engine. So we need use WaylandMultiWindow.invokeMethod
and WaylandMultiWindow.invokeMethod
to handle method calls between windows.
WaylandMultiWindow.setMethodCallHandler((call, fromWindowId) async {
debugPrint('${call.method} ${call.arguments} $fromWindowId');
return "result";
});
final result =
await DesktopMultiWindow.invokeMethod(windowId!, "method_name", "arguments");
debugPrint("onSend result: $result");