Files
notas/lib/platform/window_bootstrap_io.dart
T

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();
});
}