2023-07-06 17:18:41 +03:30
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:window_manager/window_manager.dart';
|
|
|
|
|
|
|
|
|
|
// TODO: rewrite
|
|
|
|
|
class WindowManagerService with WindowListener {
|
|
|
|
|
Future<void> init() async {
|
|
|
|
|
await windowManager.ensureInitialized();
|
|
|
|
|
const windowOptions = WindowOptions(
|
|
|
|
|
size: Size(868, 768),
|
|
|
|
|
minimumSize: Size(868, 648),
|
|
|
|
|
center: true,
|
|
|
|
|
);
|
|
|
|
|
await windowManager.waitUntilReadyToShow(windowOptions);
|
2023-07-12 23:20:06 +03:30
|
|
|
await windowManager.setPreventClose(true);
|
2023-07-06 17:18:41 +03:30
|
|
|
windowManager.addListener(this);
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-12 23:20:06 +03:30
|
|
|
@override
|
|
|
|
|
Future<void> onWindowClose() async {
|
|
|
|
|
await windowManager.hide();
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-06 17:18:41 +03:30
|
|
|
void dispose() {
|
|
|
|
|
windowManager.removeListener(this);
|
|
|
|
|
}
|
|
|
|
|
}
|