Flutter plugins used in Mixin

Overview
Issues
  • [desktop_multi_window] Closing the window in the debug environment stops the application

    [desktop_multi_window] Closing the window in the debug environment stops the application

    Code

    packages/desktop_multi_window/example

    Video

    https://user-images.githubusercontent.com/38198300/155260167-a2690483-da84-402e-bd04-0d7994102dc1.mp4

    But this doesn't happen after I generate the release version

    help wanted question desktop_multi_window 
    opened by MoonBlueSky 9
  • [desktop_multi_window] The appWindow's actions only applies on the parent screen (bitsdojo_window)

    [desktop_multi_window] The appWindow's actions only applies on the parent screen (bitsdojo_window)

    Hi, I am on linux and when I used bitsdojo plugin with desktop_multi_window package and whenever I closed any sub-window then all opened windows of that app would be closed too.

    But when I used bitsdojo_window with multi_window plugin then that didn't happened.

    Could it be fixed.

    question desktop_multi_window 
    opened by prateekmedia 7
  • Problem to play ogg opus

    Problem to play ogg opus

    I have a problem to play a audio

    is loading in exemple

    https://filesmix.nyc3.digitaloceanspaces.com/sistema/2218/e1204c2596638bf6076bef8b824609b68b86e61c/1648126293-blob.ogg

    ogg_opus_player 
    opened by rafaellfmachado 6
  • [desktop_drop] Expose pointer coordinates when files are dropped

    [desktop_drop] Expose pointer coordinates when files are dropped

    It would be awesome if onDragDone could provide the pointer location on the screen. The usecase is for drawboard applications like Figma or Adobe XD where it allows to drag and drop images and shows them at pointer location.

    e.g.

    onDragDone: (List<Uri> urls, Offset position) {
      // dx = x coordinate
     // dy = y coordinate
    }
    
    enhancement 
    opened by BirjuVachhani 6
  • [desktop_multi_window] Passing data back to parent window

    [desktop_multi_window] Passing data back to parent window

    On the windows version, I would like to pass data back to the parent window from a created multi_window instance. Is there a limitation in the engine itself that prevents me from modifying the C++ code, or is it just not implemented yet?

    desktop_multi_window 
    opened by jason4012 4
  • [pasteboard] How to listen to clipboard paste events?

    [pasteboard] How to listen to clipboard paste events?

    Is there a way to listen to clipboard paste events and then read image? How do I use this plugin in situation where whenever an image is pasted from clipboard, I need a callback to handle the event?

    opened by BirjuVachhani 4
  • [desktop_webview_window] How can I listen to url changes

    [desktop_webview_window] How can I listen to url changes

    First of all big thanks for the plugin! I would like to use it for an authentication flow in which I have to fetch a secret from a callback url. In order to do that I would need to be able to listen to url changes to identify the callback url and extract the secret.

    I tried to find a way to implement that with this plugin but had no success so far. Could you maybe point me to a solution for that?

    enhancement desktop_webview_window 
    opened by 3rpse-ai 4
  • pasteboard atlimage.h error

    pasteboard atlimage.h error

    \appname\windows\flutter\ephemeral.plugin_symlinks\pasteboard\windows\pasteboard_plugin.cpp(8,10): fatal error C1083: Cannot open include file: 'atlimage.h': No such file or directory [F:\appname\build\windows\plugins\pasteboard\pasteboard_plugin.vcxproj] Exception: Build process failed.

    help wanted pasteboard 
    opened by androidwoman 3
  • [desktop_webview_window] Exception when close webview and create again

    [desktop_webview_window] Exception when close webview and create again

    We found a exception when we cann webview.close then call webview.create. I can reproduce this issue on macos on 0.16

    [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(0, can not find webview for id: 0, null, null)
    #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
    #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:177:18)
    <asynchronous suspension>
    
    question desktop_webview_window 
    opened by dodatw 3
  • [desktop_multi_window] In the created window can not call other plugins

    [desktop_multi_window] In the created window can not call other plugins

    In the created window can not call other plug-ins, it will throw MissingPluginException, but the main window can be called.

    operating system: ubuntu 21.10

    opened by SiongSng 3
  • former DropTarget() area remains functional after pushing to another page via auto_route

    former DropTarget() area remains functional after pushing to another page via auto_route

    Hi,

    I use auto_route for navigation and desktop_drop for file imports via drag and drop and have the following bug:

    Reproducing steps:

    1. navigate to a page with a drop target
    2. push to any other page
    3. drop a file in the area where the DropTarget() area was on the former page. -> file is impoted expected: file is not imported.

    working code example:

    main.dart:

    /// debugging desktop_drop package and auto_route
    
    import 'package:auto_route/auto_route.dart';
    import 'package:debug_desktop_drop/router/app_router.gr.dart';
    import 'package:desktop_drop/desktop_drop.dart';
    import 'package:flutter/material.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      MyApp({Key? key}) : super(key: key);
      final AppRouter _appRouter = AppRouter();
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp.router(
          routerDelegate: _appRouter.delegate(),
          routeInformationParser: _appRouter.defaultRouteParser(),
        );
      }
    }
    
    class MainPage extends StatefulWidget {
      const MainPage({Key? key}) : super(key: key);
      @override
      _MainPageState createState() => _MainPageState();
    }
    
    class _MainPageState extends State<MainPage> {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: const Text('Main Page'),
            actions: [
              IconButton(
                icon: const Icon(Icons.arrow_right),
                onPressed: _pushToDropPage,
                tooltip: 'push To drop Page',
              ),
              IconButton(
                icon: const Icon(Icons.close),
                onPressed: _popMainPage,
                tooltip: 'Pop Main Page',
              ),
            ],
          ),
          body: Container(),
        );
      }
    
      void _pushToDropPage() {
        context.router.push(DropRouter());
      }
    
      void _popMainPage() {
        Navigator.pop(context);
      }
    }
    
    class DropPage extends StatefulWidget {
      const DropPage({Key? key}) : super(key: key);
      @override
      _DropPageState createState() => _DropPageState();
    }
    
    class _DropPageState extends State<DropPage> {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: const Text('Drop Page'),
            actions: [
              IconButton(
                icon: const Icon(Icons.arrow_right),
                onPressed: _pushToMainPage,
                tooltip: 'push To Main Page',
              ),
              IconButton(
                icon: const Icon(Icons.close),
                onPressed: _popDropPage,
                tooltip: 'Pop Drop Page',
              ),
            ],
          ),
          body: DropTarget(
            onDragDone: (details) {
              print('dropped something on target');
            },
            child: Container(
              color: Colors.green,
              width: 200,
              height: 200,
              child: const Align(
                alignment: Alignment.center,
                child: Text('Drop Target'),
              ),
            ),
          ),
        );
      }
    
      void _pushToMainPage() {
        context.router.push(MainRouter());
      }
    
      void _popDropPage() {
        Navigator.pop(context);
      }
    }
    

    app_router.gr.dart:

    // **************************************************************************
    // AutoRouteGenerator
    // **************************************************************************
    
    // GENERATED CODE - DO NOT MODIFY BY HAND
    
    // **************************************************************************
    // AutoRouteGenerator
    // **************************************************************************
    //
    // ignore_for_file: type=lint
    
    import 'package:auto_route/auto_route.dart' as _i2;
    import 'package:flutter/material.dart' as _i3;
    
    import '../main.dart' as _i1;
    
    class AppRouter extends _i2.RootStackRouter {
      AppRouter([_i3.GlobalKey<_i3.NavigatorState>? navigatorKey])
          : super(navigatorKey);
    
      @override
      final Map<String, _i2.PageFactory> pagesMap = {
        MainRouter.name: (routeData) {
          return _i2.CustomPage<dynamic>(
              routeData: routeData,
              child: const _i1.MainPage(),
              opaque: true,
              barrierDismissible: false);
        },
        DropRouter.name: (routeData) {
          return _i2.CustomPage<dynamic>(
              routeData: routeData,
              child: const _i1.DropPage(),
              opaque: true,
              barrierDismissible: false);
        }
      };
    
      @override
      List<_i2.RouteConfig> get routes => [
            _i2.RouteConfig(MainRouter.name, path: '/'),
            _i2.RouteConfig(DropRouter.name, path: 'drop-page')
          ];
    }
    
    /// generated route for
    /// [_i1.MainPage]
    class MainRouter extends _i2.PageRouteInfo<void> {
      const MainRouter() : super(MainRouter.name, path: '/');
    
      static const String name = 'MainRouter';
    }
    
    /// generated route for
    /// [_i1.DropPage]
    class DropRouter extends _i2.PageRouteInfo<void> {
      const DropRouter() : super(DropRouter.name, path: 'drop-page');
    
      static const String name = 'DropRouter';
    }
    

    to generate the file above:

    import 'package:auto_route/auto_route.dart';
    import 'package:debug_desktop_drop/main.dart';
    
    @CustomAutoRouter(
      replaceInRouteName: 'Page,Route',
      routes: <AutoRoute>[
        AutoRoute(
          page: MainPage,
          name: "MainRouter",
          path: '/',
          initial: true,
        ),
        AutoRoute(
          path: 'drop-page',
          page: DropPage,
          name: 'DropRouter',
        ),
      ],
    )
    class $AppRouter {}
    
    
    duplicate enhancement desktop_drop 
    opened by haj-git 3
  • MacOS - Screenshot XFiles location

    MacOS - Screenshot XFiles location

    When trying to read the file from a MacOS screenshot from the desktop, it errors.

    1. Use the screenshot shortcut
    2. Drag the instant screenshot into the app

    Example of file /var/folders/p9/j8jkzc5j4cxfh3ckpvrg1f0h0000gn/T/TemporaryItems/NSIRD_screencaptureui_TPPuUM/Screenshot 2022-06-22 at 12.22.33.png

    Screenshot 2022-06-22 at 12 24 13
    opened by ollydixon 1
  • Bringing the already opened window in front

    Bringing the already opened window in front

    Is there a way to bring the already opened window in front? I know that we can close a window or open the same one by closing it. However, I want to ask whether we can bring in front a window that is already opened as a sub-window but in the background since the user returned to the main app window.

    opened by bahricanyesil 0
  • [pasteboard] - Sample code for Web Image pasting to clipboard

    [pasteboard] - Sample code for Web Image pasting to clipboard

    Hi,

    I just had to figure out the code to paste a PNG image to the clipboard in Flutter Web, so I thought to share it here for future reference:

    import 'dart:html';
    
    import 'package:js/js.dart';
    import 'package:js/js_util.dart';
    import 'package:flutter_web_plugins/flutter_web_plugins.dart';
    
        final image = await QrPainter(
          data: "https://www.google.com",
          version: QrVersions.auto,
          errorCorrectionLevel: QrErrorCorrectLevel.Q,
        ).toImageData(400);
    
        var pngBytes = image!.buffer.asUint8List();
    
        final clipboard = window.navigator.clipboard as _Clipboard?;
        if (clipboard == null) {
          return;
        }
    
    //DOES not work on Firefox due to limitations in Clipboard API
    
        final dataMap = <dynamic, dynamic>{
          'image/png': Blob([pngBytes], 'image/png')
        };
    
        var out = jsify(dataMap);
        final item = _ClipboardItem(out);
        await clipboard.write([item]);
    
    
    
    
    @JS('ClipboardItem')
    @staticInterop
    class _ClipboardItem {
      external _ClipboardItem(dynamic args);
    }
    
    @JS('Clipboard')
    @staticInterop
    class _Clipboard {}
    
    extension _ClipboardImpl on _Clipboard {
      @JS('read')
      external dynamic _read();
      Future<List<_ClipboardItem>> read() => promiseToFuture<List<dynamic>>(_read()).then((list) => list.cast<_ClipboardItem>());
    
      @JS('write')
      external dynamic _write(List<_ClipboardItem> items);
      Future<void> write(List<_ClipboardItem> items) => promiseToFuture(_write(items));
    }
    
    enhancement pasteboard 
    opened by zambetpentru 2
  • [Web] offset != null

    [Web] offset != null

    Flutter Web: If you put a file on the drag zone, an error occurs as shown below.

    Error

    _handleMethodChannel: Assertion failed: file:///Users/patrick386/.pub-cache/hosted/pub.dartlang.org/desktop_drop-0.3.3/lib/src/channel.dart:96:16 _offset != null is not true dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49 throw dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3 assertFailed packages/desktop_drop/src/channel.dart 96:24 _handleMethodChannel dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async packages/desktop_drop/src/channel.dart 40:36 [_handleMethodChannel] packages/desktop_drop/src/channel.dart 33:22 dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async packages/desktop_drop/src/channel.dart 31:36 packages/flutter/src/services/platform_channel.dart 404:55 _handleAsMethodCall dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async packages/flutter/src/services/platform_channel.dart 401:40 [_handleAsMethodCall] packages/flutter/src/services/platform_channel.dart 397:34 packages/flutter/src/services/binding.dart 380:35 dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async packages/flutter/src/services/binding.dart 377:98 lib/_engine/engine/platform_dispatcher.dart 1121:13 invoke2 lib/ui/channel_buffers.dart 25:12 invoke lib/ui/channel_buffers.dart 65:7 push lib/ui/channel_buffers.dart 130:16 push packages/flutter_web_plugins/src/plugin_registry.dart 144:23 send packages/flutter/src/services/platform_channel.dart 157:52 _invokeMethod dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async packages/flutter/src/services/platform_channel.dart 155:30 [_invokeMethod] packages/flutter/src/services/platform_channel.dart 340:12 invokeMethod packages/desktop_drop/desktop_drop_web.dart 55:17 dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14 _checkAndCall dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39 dcall dart-sdk/lib/html/dart2js/html_dart2js.dart 37285:58

    Flutter doctor -v

    [✓] Flutter (Channel stable, 3.0.0, on macOS 12.4 21F79 darwin-arm, locale ko-KR) • Flutter version 3.0.0 at /Users/patrick386/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision ee4e09cce0 (2 weeks ago), 2022-05-09 16:45:18 -0700 • Engine revision d1b9a6938a • Dart version 2.17.0 • DevTools version 2.12.2

    [✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1) • Android SDK at /Users/patrick386/Library/Android/sdk • Platform android-32, build-tools 32.1.0-rc1 • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763) • All Android licenses accepted.

    [✓] Xcode - develop for iOS and macOS (Xcode 13.3) • Xcode at /Applications/Xcode.app/Contents/Developer • CocoaPods version 1.11.3

    [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

    [✓] Android Studio (version 2021.1) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

    [✓] Connected device (2 available) • macOS (desktop) • macos • darwin-arm64 • macOS 12.4 21F79 darwin-arm • Chrome (web) • chrome • web-javascript • Google Chrome 101.0.4951.64

    [✓] HTTP Host Availability • All required HTTP hosts are available

    • No issues found!

    desktop_drop need-more-information 
    opened by Patrick386 2
  • [desktop_multi_window] Is it possible to make new windows use translucency on macOS?

    [desktop_multi_window] Is it possible to make new windows use translucency on macOS?

    Translucency in Flutter macOS applications can be achieved with the below Swift code, but it seems that this does not carry into new windows created by desktop_multi_window. Is this possible to achieve?

    import Cocoa
    import FlutterMacOS
    
    class BlurryContainerViewController: NSViewController {
      let flutterViewController = FlutterViewController()
    
      init() {
        super.init(nibName: nil, bundle: nil)
      }
    
      required init?(coder: NSCoder) {
        fatalError()
      }
    
      override func loadView() {
        let blurView = NSVisualEffectView()
        blurView.autoresizingMask = [.width, .height]
        blurView.blendingMode = .behindWindow
        blurView.state = .active
        if #available(macOS 10.14, *) {
            blurView.material = .sidebar
        }
        self.view = blurView
      }
    
      override func viewDidLoad() {
        super.viewDidLoad()
    
        self.addChild(flutterViewController)
    
        flutterViewController.view.frame = self.view.bounds
        flutterViewController.view.autoresizingMask = [.width, .height]
        self.view.addSubview(flutterViewController.view)
      }
    }
    
    class MainFlutterWindow: NSWindow, NSWindowDelegate {
      override func awakeFromNib() {
        delegate = self
        let blurryContainerViewController = BlurryContainerViewController()
        let windowFrame = self.frame
        self.contentViewController = blurryContainerViewController
        self.setFrame(windowFrame, display: true)
    
        if #available(macOS 10.13, *) {
          let customToolbar = NSToolbar()
          customToolbar.showsBaselineSeparator = false
          self.toolbar = customToolbar
        }
        self.titleVisibility = .hidden
        self.titlebarAppearsTransparent = true
        if #available(macOS 11.0, *) {
          // Use .expanded if the app will have a title bar, else use .unified
          self.toolbarStyle = .unified
        }
    
        self.isMovableByWindowBackground = true
        self.styleMask.insert(NSWindow.StyleMask.fullSizeContentView)
    
        self.isOpaque = false
        self.backgroundColor = .clear
    
        RegisterGeneratedPlugins(registry: blurryContainerViewController.flutterViewController)
    
        super.awakeFromNib()
      }
    
      func window(_ window: NSWindow, willUseFullScreenPresentationOptions proposedOptions: NSApplication.PresentationOptions = []) -> NSApplication.PresentationOptions {
        return [.autoHideToolbar, .autoHideMenuBar, .fullScreen]
      }
    
      func windowWillEnterFullScreen(_ notification: Notification) {
          self.toolbar?.isVisible = false
      }
      
      func windowDidExitFullScreen(_ notification: Notification) {
          self.toolbar?.isVisible = true
      }
    }
    
    opened by GroovinChip 0
Owner
Mixin Network
We build open source software that always puts security, privacy and decentralization first.
Mixin Network
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 103 Jun 24, 2022
Flutter-Clock-and-Reminder-App - a highly functional clock and reminder app developed on flutter framework.

clock_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Umar Baloch 5 Dec 27, 2021
A native textfield that can be used in place of Flutter's TextField widget.

Better Textfield A native textfield that can be used in place of Flutter's TextField widget. Demo demo.mp4 Here are some screenshots of the demo app:

Abhay Maurya 2 Jan 23, 2022
Some GCC plugins useful for OI training/judging.

gcc-plugin-for-oi Some GCC plugins useful for OI training/judging. Currently, only one plugin no_opt_attr_plugin is included. Build Simply make all. O

Xidian University Programming Contest Training Base 3 Mar 14, 2022
Programming tutorial series for creating LV2 plugins using C/C++ and turtle.

Programming LV2 Plugins From Scratch Programming tutorial series for creating LV2 plugins using C/C++ and turtle. Content Programming LV2 Plugins From

null 29 Jun 21, 2022
Dockerfile/docker-compose Elasticsearch with plugins elasticsearch-analysis-vietnamese and coccoc-tokenizer

docker-es-cococ-tokenizer Dockerfile/docker-compose Elasticsearch with plugins elasticsearch-analysis-vietnamese and coccoc-tokenizer Deployment docke

Nguyễn Nhật Minh Tú 5 May 8, 2022
SDK for creating GTA IV .asi plugins

iv-sdk "SDK" for creating GTA IV .asi plugins Supports 1.0.7.0 and 1.0.8.0 (EFIGS only) The majority of the project has been created for 1.0.8.0 and t

null 23 Jun 12, 2022
Portedplugins - A collection of plugins for the SuperCollider sound environment, all of which are ported / remixed from elsewhere

PortedPlugins A collection of plugins for the SuperCollider sound environment, all of which are ported / remixed from elsewhere - including hardware s

mads kjeldgaard 116 Jun 23, 2022
The pico can be used to program other devices. Raspberry pi made such an effort. However there is no board yet, that is open-source and can be used with OpenOCD as a general-purpose programmer

pico-probe-programmer The pico can be used to program other devices. Raspberry pi made such an effort. However there is no board yet, that is open-sou

martijn 20 Jan 27, 2022
GLSL optimizer based on Mesa's GLSL compiler. Used to be used in Unity for mobile shader optimization.

GLSL optimizer ⚠️ As of mid-2016, the project is unlikely to have any significant developments. At Unity we are moving to a different shader compilati

Aras Pranckevičius 1.5k Jun 23, 2022
A cross-platform (Android/iOS/Windows/macOS) cronet plugin for Flutter via `dart:ffi`

cronet_flutter A cross-platform (Android/iOS/Windows/macOS) cronet plugin for Flutter via dart:ffi

null 20 Jun 15, 2022
A Pokemon app made in Flutter for a workshop.

pokedex_app A new Flutter project. Getting Started This project is a starting point for a Flutter application

Pawan Kumar 10 Jan 26, 2022
A light-weight Flutter Engine Embedder based on HADK ,which for Android devices that runs without any java code

flutter-hadk A light-weight Flutter Engine Embedder based on HADK ,which for Android devices that runs without any java code 1.Build by android-ndk-to

null 12 Jun 15, 2022
Acrylic & aero blur effect on Flutter Windows 💙.

flutter_acrylic Acrylic & aero blur effect on Flutter Windows. Installation Mention in your pubspec.yaml.

Hitesh Kumar Saini 356 Jun 20, 2022
Flutter-v2 Firebase Messaging, Foreground and Background Notifications + Topic Subscription and Broadcast Notifications Source code

Flutter Notification & FCM The repo is about flutter notification and FCM (Firebase Cloud Messaging). It is updated with Flutter v2 and new updates of

Amanullah 31 Jun 22, 2022
A Flutter Web Plugin to display Text Widget as Html for SEO purpose

SEO Renderer A flutter plugin (under development) to render text widgets as html elements for SEO purpose. Created specifically for issue https://gith

Sahdeep Singh 88 Jun 17, 2022
A new JS script plugin for flutter

js_script Run JS script. Usage // Create a JS context. JsScript script = JsScript(); // Define a class. var classInfo = ClassInfo<TestClass>( newI

null 5 Mar 8, 2022
This plugin allows Flutter desktop apps to defines system tray.

tray_manager This plugin allows Flutter desktop apps to defines system tray. tray_manager Platform Support Quick Start Installation ⚠️ Linux requireme

LeanFlutter 76 Jun 20, 2022