import 'dart:ui'; import 'package:appflowy/core/helpers/helpers.dart'; import 'package:flutter/foundation.dart'; import 'package:window_manager/window_manager.dart'; /// Represents the main window of the app. class AppWindow { /// The singleton instance of the window. static late AppWindow instance; AppWindow._() { instance = this; } /// Initializes the window. static Future initialize() async { // Don't initialize on mobile or web. if (!defaultTargetPlatform.isDesktop) { return null; } await windowManager.ensureInitialized(); WindowOptions windowOptions = const WindowOptions( minimumSize: Size(600, 400), title: 'AppFlowy', ); await windowManager.waitUntilReadyToShow(windowOptions, () async { await windowManager.show(); await windowManager.focus(); }); return AppWindow._(); } }