mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
38 lines
894 B
Dart
38 lines
894 B
Dart
|
import 'dart:ui';
|
||
|
|
||
|
import 'package:app_flowy/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._();
|
||
|
}
|
||
|
}
|