35 lines
1.0 KiB
Dart
35 lines
1.0 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:notas/platform/app_platform.dart';
|
|
import 'package:notas/platform/window_state.dart';
|
|
import 'package:window_manager/window_manager.dart';
|
|
|
|
Future<void> bootstrapWindow() async {
|
|
if (!isDesktop) {
|
|
return;
|
|
}
|
|
|
|
await windowManager.ensureInitialized();
|
|
final Size initialSize =
|
|
await WindowStateStore.instance.loadWindowSize() ?? const Size(900, 700);
|
|
|
|
final WindowOptions windowOptions = WindowOptions(
|
|
size: initialSize,
|
|
minimumSize: Size(400, 600),
|
|
center: true,
|
|
titleBarStyle: TitleBarStyle.normal,
|
|
);
|
|
|
|
await windowManager.waitUntilReadyToShow(windowOptions, () async {
|
|
// Re-apply size after the window is ready to ensure it takes effect.
|
|
try {
|
|
await windowManager.setSize(initialSize);
|
|
} catch (_) {}
|
|
|
|
await windowManager.setIcon('assets/icon.png');
|
|
|
|
await windowManager.show();
|
|
await windowManager.setMinimumSize(const Size(400, 600));
|
|
await windowManager.setSize(initialSize);
|
|
await windowManager.focus();
|
|
});
|
|
} |