diff --git a/frontend/appflowy_flutter/lib/startup/tasks/windows.dart b/frontend/appflowy_flutter/lib/startup/tasks/windows.dart index 9cc2b5b765..2aedb102cd 100644 --- a/frontend/appflowy_flutter/lib/startup/tasks/windows.dart +++ b/frontend/appflowy_flutter/lib/startup/tasks/windows.dart @@ -85,12 +85,32 @@ class InitAppWindowTask extends LaunchTask with WindowListener { Future onWindowMaximize() async { super.onWindowMaximize(); await windowSizeManager.setWindowMaximized(true); + await windowSizeManager.setPosition(Offset.zero); } @override Future onWindowUnmaximize() async { super.onWindowUnmaximize(); await windowSizeManager.setWindowMaximized(false); + + final position = await windowManager.getPosition(); + return windowSizeManager.setPosition(position); + } + + @override + void onWindowEnterFullScreen() async { + super.onWindowEnterFullScreen(); + await windowSizeManager.setWindowMaximized(true); + await windowSizeManager.setPosition(Offset.zero); + } + + @override + Future onWindowLeaveFullScreen() async { + super.onWindowLeaveFullScreen(); + await windowSizeManager.setWindowMaximized(false); + + final position = await windowManager.getPosition(); + return windowSizeManager.setPosition(position); } @override