AppFlowy/frontend/appflowy_flutter/lib/window/app_window.dart

38 lines
893 B
Dart
Raw Normal View History

import 'dart:ui';
import 'package:appflowy/core/helpers/helpers.dart';
import 'package:flutter/foundation.dart';
import 'package:window_manager/window_manager.dart';
/// Represents the main window of the app.
class AppWindow {
/// The singleton instance of the window.
static late AppWindow instance;
AppWindow._() {
instance = this;
}
/// Initializes the window.
static Future<AppWindow?> initialize() async {
// Don't initialize on mobile or web.
if (!defaultTargetPlatform.isDesktop) {
return null;
}
await windowManager.ensureInitialized();
WindowOptions windowOptions = const WindowOptions(
minimumSize: Size(600, 400),
title: 'AppFlowy',
);
await windowManager.waitUntilReadyToShow(windowOptions, () async {
await windowManager.show();
await windowManager.focus();
});
return AppWindow._();
}
}