Kristen McWilliam 6b8c7d7bc6
fix: use window_manager to set minimum window size (#1791)
* fix: use window_manager to set minimum window size

Resolves #762
Resolves #1559

* refactor: only init WidgetsFlutterBinding once

* fix: set window minimum size

Was meant to be setMinimumSize not setSize

* fix: windows manager crash on macOS

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
2023-02-09 14:42:18 +08:00

40 lines
1.0 KiB
Dart

import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:hotkey_manager/hotkey_manager.dart';
import 'package:window_manager/window_manager.dart';
import 'startup/launch_configuration.dart';
import 'startup/startup.dart';
import 'user/presentation/splash_screen.dart';
class FlowyApp implements EntryPoint {
@override
Widget create(LaunchConfiguration config) {
return SplashScreen(
autoRegister: config.autoRegistrationSupported,
);
}
}
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await EasyLocalization.ensureInitialized();
await hotKeyManager.unregisterAll();
await windowManager.ensureInitialized();
await setWindowOptions();
await FlowyRunner.run(FlowyApp());
}
Future<void> setWindowOptions() async {
WindowOptions windowOptions = const WindowOptions(
minimumSize: Size(600, 400),
);
return windowManager.waitUntilReadyToShow(windowOptions, () async {
await windowManager.show();
await windowManager.focus();
});
}