diff --git a/lib/main.dart b/lib/main.dart index 1b46cae5..5b17dd6b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -115,7 +115,10 @@ void main() async { title: Constants.appName, ); windowManager.waitUntilReadyToShow(windowOptions, () async { - await windowManager.setBounds(await calcWindowPosition & Pref.windowSize); + final windowSize = Pref.windowSize; + await windowManager.setBounds( + await calcWindowPosition(windowSize) & windowSize, + ); if (Pref.isWindowMaximized) await windowManager.maximize(); await windowManager.show(); await windowManager.focus(); diff --git a/lib/utils/calc_window_position.dart b/lib/utils/calc_window_position.dart index 57e1d832..1ac9c8fc 100644 --- a/lib/utils/calc_window_position.dart +++ b/lib/utils/calc_window_position.dart @@ -1,9 +1,8 @@ import 'package:PiliPlus/utils/storage_pref.dart'; import 'package:flutter/material.dart'; import 'package:screen_retriever/screen_retriever.dart'; -import 'package:window_manager/window_manager.dart'; -Future get calcWindowPosition async { +Future calcWindowPosition(Size windowSize) async { Display primaryDisplay = await screenRetriever.getPrimaryDisplay(); List allDisplays = await screenRetriever.getAllDisplays(); Offset cursorScreenPoint = await screenRetriever.getCursorScreenPoint(); @@ -46,7 +45,6 @@ Future get calcWindowPosition async { } catch (_) {} } - final windowSize = await windowManager.getSize(); return Offset( visibleStartX + (visibleWidth / 2) - (windowSize.width / 2), visibleStartY + ((visibleHeight / 2) - (windowSize.height / 2)),