windows.dart 904 B

123456789101112131415161718192021222324252627282930313233343536
  1. import 'dart:ui';
  2. import 'package:appflowy/core/helpers/helpers.dart';
  3. import 'package:appflowy/startup/startup.dart';
  4. import 'package:flutter/foundation.dart';
  5. import 'package:window_manager/window_manager.dart';
  6. class InitAppWindowTask extends LaunchTask {
  7. const InitAppWindowTask({
  8. this.minimumSize = const Size(600, 400),
  9. this.title = 'AppFlowy',
  10. });
  11. final Size minimumSize;
  12. final String title;
  13. @override
  14. Future<void> initialize(LaunchContext context) async {
  15. // Don't initialize on mobile or web.
  16. if (!defaultTargetPlatform.isDesktop) {
  17. return;
  18. }
  19. await windowManager.ensureInitialized();
  20. WindowOptions windowOptions = WindowOptions(
  21. minimumSize: minimumSize,
  22. title: title,
  23. );
  24. await windowManager.waitUntilReadyToShow(windowOptions, () async {
  25. await windowManager.show();
  26. await windowManager.focus();
  27. });
  28. }
  29. }