import 'package:flutter/widgets.dart'; class WindowSize { final double height; final double width; final bool maximized; WindowSize({ required this.height, required this.width, required this.maximized, }); factory WindowSize.fromJson(Map json) => WindowSize( height: json["height"], width: json["width"], maximized: json["maximized"], ); Map toJson() => { "height": height, "width": width, "maximized": maximized, }; } class WindowManagerTools with WidgetsBindingObserver { static WindowManagerTools? _instance; static WindowManagerTools get instance => _instance!; WindowManagerTools._(); static Future initialize() async { // Web doesn't need window manager initialization _instance = WindowManagerTools._(); WidgetsBinding.instance.addObserver(instance); } Size? _prevSize; @override void didChangeMetrics() async { super.didChangeMetrics(); // Web implementation - no window size saving needed } }