flutter version allow hide cm

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2022-11-23 09:41:05 +08:00
parent c26e86288d
commit 8b4d50f3fb
37 changed files with 198 additions and 44 deletions

View file

@ -85,7 +85,7 @@ Future<void> main(List<String> args) async {
debugPrint("--cm started");
desktopType = DesktopType.cm;
await windowManager.ensureInitialized();
runConnectionManagerScreen();
runConnectionManagerScreen(args.contains('--hide'));
} else if (args.contains('--install')) {
runInstallPage();
} else {
@ -185,16 +185,23 @@ void runMultiWindow(
}
}
void runConnectionManagerScreen() async {
void runConnectionManagerScreen(bool hide) async {
await initEnv(kAppTypeMain);
// initialize window
WindowOptions windowOptions =
getHiddenTitleBarWindowOptions(size: kConnectionManagerWindowSize);
_runApp(
'',
const DesktopServerPage(),
MyTheme.currentThemeMode(),
);
if (hide) {
hideCmWindow();
} else {
showCmWindow();
}
}
void showCmWindow() {
WindowOptions windowOptions =
getHiddenTitleBarWindowOptions(size: kConnectionManagerWindowSize);
windowManager.waitUntilReadyToShow(windowOptions, () async {
await windowManager.show();
await Future.wait([windowManager.focus(), windowManager.setOpacity(1)]);
@ -204,6 +211,15 @@ void runConnectionManagerScreen() async {
});
}
void hideCmWindow() {
WindowOptions windowOptions =
getHiddenTitleBarWindowOptions(size: kConnectionManagerWindowSize);
windowManager.setOpacity(0);
windowManager.waitUntilReadyToShow(windowOptions, () async {
await windowManager.hide();
});
}
void _runApp(
String title,
Widget home,