diff --git a/lib/main.dart b/lib/main.dart index 96f8ee1d8..4db591f6e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -105,10 +105,12 @@ void main() async { } else if (Utils.isDesktop) { await windowManager.ensureInitialized(); - WindowOptions windowOptions = const WindowOptions( - minimumSize: Size(400, 720), + WindowOptions windowOptions = WindowOptions( + minimumSize: const Size(400, 720), skipTaskbar: false, - titleBarStyle: TitleBarStyle.normal, + titleBarStyle: Pref.showWindowTitleBar + ? TitleBarStyle.normal + : TitleBarStyle.hidden, title: Constants.appName, ); windowManager.waitUntilReadyToShow(windowOptions, () async { diff --git a/lib/pages/setting/models/style_settings.dart b/lib/pages/setting/models/style_settings.dart index 22dd8f4e6..69c2b1ac6 100644 --- a/lib/pages/setting/models/style_settings.dart +++ b/lib/pages/setting/models/style_settings.dart @@ -27,6 +27,7 @@ import 'package:PiliPlus/utils/global_data.dart'; import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage_key.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; +import 'package:PiliPlus/utils/utils.dart'; import 'package:auto_orientation/auto_orientation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -35,6 +36,15 @@ import 'package:get/get.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; List get styleSettings => [ + if (Utils.isDesktop) + const SettingsModel( + settingsType: SettingsType.sw1tch, + title: '显示窗口标题栏', + leading: Icon(Icons.window), + setKey: SettingBoxKey.showWindowTitleBar, + defaultVal: true, + needReboot: true, + ), SettingsModel( settingsType: SettingsType.sw1tch, title: '横屏适配', diff --git a/lib/utils/storage_key.dart b/lib/utils/storage_key.dart index 46b6ea5c1..4a357a9c9 100644 --- a/lib/utils/storage_key.dart +++ b/lib/utils/storage_key.dart @@ -143,7 +143,8 @@ abstract class SettingBoxKey { static const String minimizeOnExit = 'minimizeOnExit', windowSize = 'windowSize', windowPosition = 'windowPosition', - isWindowMaximized = 'isWindowMaximized'; + isWindowMaximized = 'isWindowMaximized', + showWindowTitleBar = 'showWindowTitleBar'; static const String subtitlePreferenceV2 = 'subtitlePreferenceV2', enableDragSubtitle = 'enableDragSubtitle', diff --git a/lib/utils/storage_pref.dart b/lib/utils/storage_pref.dart index f5fc77cd6..8382d3e8b 100644 --- a/lib/utils/storage_pref.dart +++ b/lib/utils/storage_pref.dart @@ -841,4 +841,7 @@ abstract class Pref { static bool get pauseOnMinimize => _setting.get(SettingBoxKey.pauseOnMinimize, defaultValue: false); + + static bool get showWindowTitleBar => + _setting.get(SettingBoxKey.showWindowTitleBar, defaultValue: true); }