Skip to content

Conversation

@boyan01
Copy link
Contributor

@boyan01 boyan01 commented Oct 18, 2025

trying to fix

Closes #443
Closes #432
Closes #423
Closes #420
Closes #419
Closes #412
Closes #388
Closes #392
Closes #356
Closes #352
Closes #342
Closes #328
Closes #319
Closes #304
Closes #293
Closes #289
Closes #284
Closes #283
Closes #266
Closes #259
Closes #252
Closes #225
Closes #221
Closes #141
Closes #137
Closes #128
Closes #127
Closes #109
Closes #102
Closes #80
Closes #71

@boyan01 boyan01 requested a review from Copilot October 25, 2025 15:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a major refactor of the desktop_multi_window plugin, redesigning the window management system across Windows, Linux, and macOS platforms. The refactor replaces integer-based window IDs with UUID strings, introduces a new channel-based communication system with configurable modes (unidirectional/bidirectional), and adds a WindowConfiguration API for better control over window creation.

Key changes:

  • Window identification system migrated from integers to UUID strings
  • New WindowMethodChannel API with unidirectional and bidirectional communication modes
  • Refactored window management architecture removing intermediate base classes
  • Enhanced example application demonstrating new features including video playback and window lifecycle management

Reviewed Changes

Copilot reviewed 75 out of 77 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
windows/window_configuration.h New header defining WindowConfiguration struct for window creation parameters
windows/window_channel_plugin.h/cc New plugin implementing cross-window method channel communication
windows/win32_window.h/cpp Refactored Win32 window wrapper with theme support
windows/multi_window_manager.h/cc Redesigned manager using UUID window IDs and notification system
windows/desktop_multi_window_plugin.cpp Updated plugin with window-specific method routing
macos/Classes/WindowChannel.swift Redesigned channel system with registry and mode support
macos/Classes/FlutterWindow.swift Simplified window wrapper with event notification
macos/Classes/FlutterMultiWindowPlugin.swift Integrated manager within plugin class
linux/window_channel_plugin.h/cc Linux implementation of channel plugin
linux/multi_window_manager.h/cc Linux manager with GTK window handling
linux/desktop_multi_window_plugin.cc Updated for new window management
lib/src/window_controller.dart Complete API redesign with async patterns
lib/src/window_channel.dart New Dart channel API with error handling
lib/src/window_configuration.dart Configuration class for window creation
example/* Updated examples demonstrating new features
pubspec.yaml Version bump to 0.3.0 with SDK requirement update
README.md Comprehensive documentation rewrite
Comments suppressed due to low confidence (1)

packages/desktop_multi_window/example/windows/runner/win32_window.h:1

  • Corrected spelling of 'registar' to 'registrar'.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…n.cc

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@boyan01 boyan01 merged commit 9ec7e86 into main Oct 25, 2025
2 checks passed
@boyan01 boyan01 deleted the desktop_multi_window/refactor branch October 25, 2025 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment