# rustdesk_desktop_multi_window **Repository Path**: google1999/rustdesk_desktop_multi_window ## Basic Information - **Project Name**: rustdesk_desktop_multi_window - **Description**: 镜像加速 20250928 https://github.com/rustdesk-org/rustdesk_desktop_multi_window - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-28 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # desktop_multi_window [![Pub](https://img.shields.io/pub/v/desktop_multi_window.svg)](https://pub.dev/packages/desktop_multi_window) A flutter plugin that create and manager multi window in desktop. | | | |---------|-----| | Windows | ✅ | | Linux | ✅ | | macOS | ✅ | ## Usage To use this plugin, add `desktop_multi_window` as a dependency in your pubspec.yaml file. ## Example ### Create and Show another window. ``` final window = await DesktopMultiWindow.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(); ``` ### Invoke remote window method. The windows run on different flutter engine. So we need use `DesktopMultiWindow.invokeMethod` and `DesktopMultiWindow.invokeMethod` to handle method calls between windows. ``` DesktopMultiWindow.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"); ```