From 999da666b46eecc34f1b8492a7d47da4f8e75908 Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Sun, 10 Mar 2024 21:24:17 +0100 Subject: [PATCH 1/2] Replaced window size with window manager --- lib/main.dart | 5 +++-- linux/flutter/generated_plugin_registrant.cc | 12 +++++++---- linux/flutter/generated_plugins.cmake | 3 ++- macos/Flutter/GeneratedPluginRegistrant.swift | 6 ++++-- macos/Podfile.lock | 16 +++++++++----- pubspec.lock | 21 ++++++++++++------- pubspec.yaml | 5 +---- .../flutter/generated_plugin_registrant.cc | 9 +++++--- windows/flutter/generated_plugins.cmake | 3 ++- 9 files changed, 51 insertions(+), 29 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 98669e6..db378ae 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -13,7 +13,7 @@ import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:store_checker/store_checker.dart'; -import 'package:window_size/window_size.dart'; +import 'package:window_manager/window_manager.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; @@ -40,7 +40,8 @@ void main() async { SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { - setWindowMinSize(const Size(500, 500)); + await windowManager.ensureInitialized(); + WindowManager.instance.setMinimumSize(const Size(1280, 720)); } if (Platform.isWindows || Platform.isLinux) { diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 1786709..fd3f3f5 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -7,15 +7,19 @@ #include "generated_plugin_registrant.h" #include +#include #include #include #include -#include +#include void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) dynamic_color_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "DynamicColorPlugin"); dynamic_color_plugin_register_with_registrar(dynamic_color_registrar); + g_autoptr(FlPluginRegistrar) screen_retriever_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverPlugin"); + screen_retriever_plugin_register_with_registrar(screen_retriever_registrar); g_autoptr(FlPluginRegistrar) sentry_flutter_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "SentryFlutterPlugin"); sentry_flutter_plugin_register_with_registrar(sentry_flutter_registrar); @@ -25,7 +29,7 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); - g_autoptr(FlPluginRegistrar) window_size_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "WindowSizePlugin"); - window_size_plugin_register_with_registrar(window_size_registrar); + g_autoptr(FlPluginRegistrar) window_manager_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "WindowManagerPlugin"); + window_manager_plugin_register_with_registrar(window_manager_registrar); } diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 59ac090..307410d 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -4,10 +4,11 @@ list(APPEND FLUTTER_PLUGIN_LIST dynamic_color + screen_retriever sentry_flutter sqlite3_flutter_libs url_launcher_linux - window_size + window_manager ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 045b44f..28ea475 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,21 +8,23 @@ import Foundation import device_info_plus import dynamic_color import package_info_plus +import screen_retriever import sentry_flutter import shared_preferences_foundation import sqflite import sqlite3_flutter_libs import url_launcher_macos -import window_size +import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) + ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin")) SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) - WindowSizePlugin.register(with: registry.registrar(forPlugin: "WindowSizePlugin")) + WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin")) } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index a7aa080..5357874 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -6,6 +6,8 @@ PODS: - FlutterMacOS (1.0.0) - package_info_plus (0.0.1): - FlutterMacOS + - screen_retriever (0.0.1): + - FlutterMacOS - Sentry/HybridSDK (8.21.0): - SentryPrivate (= 8.21.0) - sentry_flutter (0.0.1): @@ -36,7 +38,7 @@ PODS: - sqlite3/rtree - url_launcher_macos (0.0.1): - FlutterMacOS - - window_size (0.0.2): + - window_manager (0.2.0): - FlutterMacOS DEPENDENCIES: @@ -44,12 +46,13 @@ DEPENDENCIES: - dynamic_color (from `Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) + - screen_retriever (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos`) - sentry_flutter (from `Flutter/ephemeral/.symlinks/plugins/sentry_flutter/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/darwin`) - sqlite3_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/macos`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - - window_size (from `Flutter/ephemeral/.symlinks/plugins/window_size/macos`) + - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`) SPEC REPOS: trunk: @@ -66,6 +69,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral package_info_plus: :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos + screen_retriever: + :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos sentry_flutter: :path: Flutter/ephemeral/.symlinks/plugins/sentry_flutter/macos shared_preferences_foundation: @@ -76,14 +81,15 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/macos url_launcher_macos: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos - window_size: - :path: Flutter/ephemeral/.symlinks/plugins/window_size/macos + window_manager: + :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos SPEC CHECKSUMS: device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f dynamic_color: 2eaa27267de1ca20d879fbd6e01259773fb1670f FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce + screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38 Sentry: ebc12276bd17613a114ab359074096b6b3725203 sentry_flutter: dff1df05dc39c83d04f9330b36360fc374574c5e SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe @@ -92,7 +98,7 @@ SPEC CHECKSUMS: sqlite3: 73b7fc691fdc43277614250e04d183740cb15078 sqlite3_flutter_libs: 06a05802529659a272beac4ee1350bfec294f386 url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 - window_size: 339dafa0b27a95a62a843042038fa6c3c48de195 + window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8 PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 diff --git a/pubspec.lock b/pubspec.lock index a1ae53b..7b50c80 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -597,6 +597,14 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.2" + screen_retriever: + dependency: transitive + description: + name: screen_retriever + sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90" + url: "https://pub.dev" + source: hosted + version: "0.1.9" segmented_button_slide: dependency: "direct main" description: @@ -954,15 +962,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - window_size: + window_manager: dependency: "direct main" description: - path: "plugins/window_size" - ref: HEAD - resolved-ref: "6c66ad23ee79749f30a8eece542cf54eaf157ed8" - url: "https://github.com/google/flutter-desktop-embedding" - source: git - version: "0.1.0" + name: window_manager + sha256: b3c895bdf936c77b83c5254bec2e6b3f066710c1f89c38b20b8acc382b525494 + url: "https://pub.dev" + source: hosted + version: "0.3.8" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8aa5909..daf62b3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -58,10 +58,6 @@ dependencies: flutter_html: ^3.0.0-beta.2 sqlite3_flutter_libs: ^0.5.18 sqflite_common_ffi: ^2.3.1 - window_size: - git: - url: https://github.com/google/flutter-desktop-embedding - path: plugins/window_size contextmenu: ^3.0.0 async: ^2.11.0 sentry_flutter: ^7.13.2 @@ -74,6 +70,7 @@ dependencies: flutter_custom_tabs: ^2.0.0+1 url_launcher: ^6.2.4 shared_preferences: ^2.2.2 + window_manager: ^0.3.8 dev_dependencies: flutter_test: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 50bb1c8..683e616 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -7,20 +7,23 @@ #include "generated_plugin_registrant.h" #include +#include #include #include #include -#include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { DynamicColorPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("DynamicColorPluginCApi")); + ScreenRetrieverPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("ScreenRetrieverPlugin")); SentryFlutterPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("SentryFlutterPlugin")); Sqlite3FlutterLibsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); UrlLauncherWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("UrlLauncherWindows")); - WindowSizePluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("WindowSizePlugin")); + WindowManagerPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("WindowManagerPlugin")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 71f5fcf..b2ba396 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -4,10 +4,11 @@ list(APPEND FLUTTER_PLUGIN_LIST dynamic_color + screen_retriever sentry_flutter sqlite3_flutter_libs url_launcher_windows - window_size + window_manager ) list(APPEND FLUTTER_FFI_PLUGIN_LIST From 7e13285b7eb479d83a2b79d25b874a6214c3f799 Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Sun, 10 Mar 2024 21:30:25 +0100 Subject: [PATCH 2/2] Changed size --- lib/main.dart | 2 +- windows/runner/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index db378ae..dce3456 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -41,7 +41,7 @@ void main() async { if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { await windowManager.ensureInitialized(); - WindowManager.instance.setMinimumSize(const Size(1280, 720)); + WindowManager.instance.setMinimumSize(const Size(500, 700)); } if (Platform.isWindows || Platform.isLinux) { diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp index 1c992e7..618eef7 100644 --- a/windows/runner/main.cpp +++ b/windows/runner/main.cpp @@ -26,7 +26,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); + Win32Window::Size size(500,700); if (!window.Create(L"AdGuard Home Manager", origin, size)) { return EXIT_FAILURE; }