window_manager 0.1.9 window_manager: ^0.1.9 copied to clipboard
This plugin allows Flutter desktop apps to resizing and repositioning the window.
import 'package:flutter/material.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:window_manager/window_manager.dart';
import './pages/home.dart';
import 'themes/themes.dart';
import 'utilities/utilities.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await windowManager.ensureInitialized();
// Use it only after calling `hiddenWindowAtLaunch`
windowManager.waitUntilReadyToShow().then((_) async {
// // Hide window title bar
// if (!Platform.isLinux) {
// await windowManager.setTitleBarStyle('hidden');
// }
await windowManager.setSize(Size(800, 600));
await windowManager.center();
await windowManager.show();
await windowManager.focus();
await windowManager.setSkipTaskbar(false);
});
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
ThemeMode _themeMode = ThemeMode.light;
@override
void initState() {
sharedConfigManager.addListener(_configListen);
super.initState();
}
@override
void dispose() {
sharedConfigManager.removeListener(_configListen);
super.dispose();
}
void _configListen() {
_themeMode = sharedConfig.themeMode;
setState(() {});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: lightThemeData,
darkTheme: darkThemeData,
themeMode: _themeMode,
builder: BotToastInit(),
navigatorObservers: [BotToastNavigatorObserver()],
home: HomePage(),
);
}
}