import 'package:dde_gesture_manager/constants/constants.dart'; import 'package:dde_gesture_manager/constants/sp_keys.dart'; import 'package:dde_gesture_manager/constants/supported_locales.dart'; import 'package:dde_gesture_manager/extensions.dart'; import 'package:dde_gesture_manager/generated/codegen_loader.g.dart'; import 'package:dde_gesture_manager/generated/locale_keys.g.dart'; import 'package:dde_gesture_manager/models/settings.provider.dart'; import 'package:dde_gesture_manager/utils/helper.dart'; import 'package:flutter/material.dart'; import 'package:gsettings/gsettings.dart'; import 'package:provider/provider.dart'; import 'package:window_manager/window_manager.dart'; Future initEvents(BuildContext context) async { var isDark = MediaQuery.of(context).platformBrightness == Brightness.dark; if (isDark) { context.read().setProps(isDarkMode: isDark); } else { var xsettings = GSettings('com.deepin.xsettings'); String? themeName; try { themeName = (await xsettings.get('theme-name')).toString(); } catch (e) { print(e); context.read().setProps(isDarkMode: false); } if (themeName != null) { context.read().setProps(isDarkMode: themeName.contains('dark')); xsettings.keysChanged.listen((event) { xsettings.get('theme-name').then((value) { context.read().setProps(isDarkMode: value.toString().contains('dark')); }); }); } } } Future initConfigs() async { await H().initSharedPreference(); var userLanguageIndex = H().sp.getInt(SPKeys.userLanguage) ?? 0; var locale = supportedLocales[userLanguageIndex]; windowManager.setTitle(CodegenLoader.mapLocales[locale.toString()]?[LocaleKeys.app_name]); windowManager.setMinimumSize(minWindowSize); } var windowManager = WindowManager.instance;