desktop_multi_window 0.3.0 copy "desktop_multi_window: ^0.3.0" to clipboard
desktop_multi_window: ^0.3.0 copied to clipboard

A flutter plugin that create and manager multi window in desktop.

example/lib/main.dart

import 'dart:async';

import 'package:desktop_multi_window/desktop_multi_window.dart';
import 'package:flutter/material.dart';
import 'package:mixin_logger/mixin_logger.dart';
import 'package:window_manager/window_manager.dart';

import 'extensions/window_controller.dart';
import 'windows/argumet.dart';
import 'windows/main_window.dart';
import 'windows/sample_window.dart';
import 'windows/video_player_window.dart';
import 'package:fvp/fvp.dart' as fvp;

Future<void> main(List<String> args) async {
  i('App started with arguments: $args');
  WidgetsFlutterBinding.ensureInitialized();
  await windowManager.ensureInitialized();
  final windowController = await WindowController.fromCurrentEngine();
  windowController.doCustomInitialize();
  final arguments = WindowArguments.fromArguments(windowController.arguments);
  i('Window arguments: $arguments');
  switch (arguments.businessId) {
    case WindowArguments.businessIdMain:
      runApp(const ExampleMainWindow());
    case WindowArguments.businessIdVideoPlayer:
      fvp.registerWith();

      WindowOptions windowOptions = const WindowOptions(
        size: Size(800, 600),
        center: true,
        backgroundColor: Colors.transparent,
        skipTaskbar: false,
        titleBarStyle: TitleBarStyle.hidden,
        windowButtonVisibility: false,
      );
      windowManager.waitUntilReadyToShow(windowOptions, () async {
        await windowManager.show();
        await windowManager.focus();
      });
      runApp(const VideoPlayerWindow());

    case WindowArguments.businessIdSample:
      WindowOptions windowOptions = const WindowOptions(
        size: Size(600, 400),
        center: true,
        backgroundColor: Colors.transparent,
        windowButtonVisibility: false,
      );
      windowManager.waitUntilReadyToShow(windowOptions, () async {
        await windowManager.show();
        await windowManager.focus();
      });
      runApp(const SampleWindow());
  }
}
255
likes
160
points
13.8k
downloads

Publisher

verified publishermixin.dev

Weekly Downloads

A flutter plugin that create and manager multi window in desktop.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

flutter

More

Packages that depend on desktop_multi_window

Packages that implement desktop_multi_window