main.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:easy_localization/easy_localization.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:hotkey_manager/hotkey_manager.dart';
  4. import 'package:window_manager/window_manager.dart';
  5. import 'startup/launch_configuration.dart';
  6. import 'startup/startup.dart';
  7. import 'user/presentation/splash_screen.dart';
  8. class FlowyApp implements EntryPoint {
  9. @override
  10. Widget create(LaunchConfiguration config) {
  11. return SplashScreen(
  12. autoRegister: config.autoRegistrationSupported,
  13. );
  14. }
  15. }
  16. Future<void> main() async {
  17. WidgetsFlutterBinding.ensureInitialized();
  18. await EasyLocalization.ensureInitialized();
  19. await hotKeyManager.unregisterAll();
  20. await windowManager.ensureInitialized();
  21. await setWindowOptions();
  22. await FlowyRunner.run(FlowyApp());
  23. }
  24. Future<void> setWindowOptions() async {
  25. WindowOptions windowOptions = const WindowOptions(
  26. minimumSize: Size(600, 400),
  27. );
  28. return windowManager.waitUntilReadyToShow(windowOptions, () async {
  29. await windowManager.show();
  30. await windowManager.focus();
  31. });
  32. }