diff --git a/lib/main.dart b/lib/main.dart index acd933b..00dffb0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,23 +1,24 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; -import '../generated_l10n/app_localizations.dart'; +import 'package:wispar/generated_l10n/app_localizations.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'theme_provider.dart'; -import 'locale_provider.dart'; -import 'screens/introduction_screen.dart'; -import 'screens/home_screen.dart'; -import 'screens/search_screen.dart'; -import 'screens/favorites_screen.dart'; -import 'screens/library_screen.dart'; -import 'screens/downloads_screen.dart'; +import 'package:wispar/theme_provider.dart'; +import 'package:wispar/locale_provider.dart'; +import 'package:wispar/screens/introduction_screen.dart'; +import 'package:wispar/screens/home_screen.dart'; +import 'package:wispar/screens/search_screen.dart'; +import 'package:wispar/screens/favorites_screen.dart'; +import 'package:wispar/screens/library_screen.dart'; +import 'package:wispar/screens/downloads_screen.dart'; import 'package:google_nav_bar/google_nav_bar.dart'; -import './services/background_service.dart'; -import './services/logs_helper.dart'; +import 'package:wispar/services/background_service.dart'; +import 'package:wispar/services/logs_helper.dart'; import 'package:background_fetch/background_fetch.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:window_manager/window_manager.dart'; import 'package:wispar/webview_env.dart'; import 'dart:io' show Platform; @@ -44,6 +45,21 @@ void main() async { databaseFactory = databaseFactoryFfi; } LogsService(); + if (Platform.isWindows || Platform.isMacOS || Platform.isLinux) { + await windowManager.ensureInitialized(); + WindowOptions windowOptions = const WindowOptions( + size: Size(900, 700), + minimumSize: Size(400, 600), + center: true, + title: "Wispar", + ); + + await windowManager.waitUntilReadyToShow(windowOptions, () async { + await windowManager.show(); + await windowManager.focus(); + }); + } + runApp( MultiProvider( providers: [ diff --git a/pubspec.lock b/pubspec.lock index b00f8e0..f8a62a2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -813,6 +813,46 @@ packages: url: "https://pub.dev" source: hosted version: "0.28.0" + screen_retriever: + dependency: transitive + description: + name: screen_retriever + sha256: "570dbc8e4f70bac451e0efc9c9bb19fa2d6799a11e6ef04f946d7886d2e23d0c" + url: "https://pub.dev" + source: hosted + version: "0.2.0" + screen_retriever_linux: + dependency: transitive + description: + name: screen_retriever_linux + sha256: f7f8120c92ef0784e58491ab664d01efda79a922b025ff286e29aa123ea3dd18 + url: "https://pub.dev" + source: hosted + version: "0.2.0" + screen_retriever_macos: + dependency: transitive + description: + name: screen_retriever_macos + sha256: "71f956e65c97315dd661d71f828708bd97b6d358e776f1a30d5aa7d22d78a149" + url: "https://pub.dev" + source: hosted + version: "0.2.0" + screen_retriever_platform_interface: + dependency: transitive + description: + name: screen_retriever_platform_interface + sha256: ee197f4581ff0d5608587819af40490748e1e39e648d7680ecf95c05197240c0 + url: "https://pub.dev" + source: hosted + version: "0.2.0" + screen_retriever_windows: + dependency: transitive + description: + name: screen_retriever_windows + sha256: "449ee257f03ca98a57288ee526a301a430a344a161f9202b4fcc38576716fe13" + url: "https://pub.dev" + source: hosted + version: "0.2.0" share_plus: dependency: "direct main" description: @@ -1154,6 +1194,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.15.0" + window_manager: + dependency: "direct main" + description: + name: window_manager + sha256: "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd" + url: "https://pub.dev" + source: hosted + version: "0.5.1" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 225c4b4..3486ea6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -66,6 +66,7 @@ dependencies: flutter_markdown_plus: ^1.0.3 path_provider: ^2.1.5 archive: ^4.0.7 + window_manager: ^0.5.1 dev_dependencies: flutter_test: