Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

Overview

go-flutter - A package that brings Flutter to the desktop

Awesome Flutter Documentation Go Report Card Join the chat at https://gitter.im/go-flutter-desktop/go-flutter

Purpose

Flutter allows you to build beautiful native apps on iOS and Android from a single codebase.

This unofficial project brings Flutter to the desktop through the power of Go and GLFW.

The flutter engine itself doesn't know how to deal with desktop platforms (eg handling mouse/keyboard input). Instead, it exposes an abstraction layer for whatever platform to implement. This project implements the Flutter's Embedding API using a single code base that runs on Windows, macOS, and Linux. For rendering, GLFW fits the job because it provides the right abstractions over the OpenGL's Buffer/Mouse/Keyboard for each platform.

The choice of Golang comes from the fact that it has the same tooling on every platform. Plus Golang is a great language because it keeps everything simple and readable, which makes it easy to build cross-platform plugins.

Screenshot of the Stocks demo app on macOS

Getting started

The best way to get started is to install hover, the official go-flutter tool to set up, build and run Flutter apps on the desktop, including hot-reload.

Read the hover tutorial to run your app on the desktop, or start with one of our example apps.

If you want more in-depth information about go-flutter, read the wiki.

Supported features

  • Linux 🐧
  • MacOS 🍎
  • Windows 🏁
  • Hot Reload
  • Plugin system
    • BinaryMessageCodec, BinaryMessageChannel
    • StandardMessageCodec, JSONMessageCodec
    • StandardMethodCodec, MethodChannel
  • Plugin detection for supported plugins
  • Importable as Go library into custom projects
  • UTF-8 Text input
  • Clipboard copy & paste
  • Window title and icon
  • Standard keyboard shortcuts
    • ctrl-c ctrl-v ctrl-x ctrl-a
    • Home End shift-Home shift-End
    • Left ctrl-Left ctrl-shift-Left
    • Right ctrl-Right ctrl-shift-Right
    • Backspace ctrl-Backspace Delete
  • Mouse-over/hovering
  • Mouse-buttons
  • RawKeyboard events
  • Distribution format (windows-msi, mac-dmg, linux-appimage, and more)
  • Cross-compiling using docker 🐳

Are you missing a feature? Open an issue!

Examples

A separate repository contains example Flutter apps that also run on the desktop. Go to github.com/go-flutter-desktop/examples to give them a try.

Plugins

Some popular plugins are already implemented over at github.com/go-flutter-desktop/plugins. If you have implemented a plugin that you would like to share, feel free to open a PR on the plugins repository!

For a detailed tutorial on how to create a plugin, read the wiki.

Version compatibility

Flutter version

Flutter itself is a relatively young project. Its framework and engine are updated often. The go-flutter project tries to stay compatible with the beta channel of Flutter.

Go version

Updating Go is simple and Go seldomly has backwards-incompatible changes. This project remains compatible with the latest Go stable release.

GLFW version

This project uses go-gl/glfw for GLFW v3.3.

License

BSD 3-Clause License

Comments
  • Blackscreen after #308

    Blackscreen after #308

    @pchampio After #308 my app only shows a blackscreen and spits out this error on linux (also tested windows with wine and got the same error):

    2019/12/26 12:59:30 error.go:171: PlatformError: GLX: Failed to make context current
    

    When running using hover run -b '@2d582358f34c257933c47e1f0591fc38c713c78c' (the previous commit) the app starts like normal so it's definitely an issue with #308.

    embedder engine bug 
    opened by provokateurin 39
  • VSCode Hot reload

    VSCode Hot reload

    Now that it is possible to get automatic hot reload working using https://github.com/google/flutter-desktop-embedding and vscode is there a way now to get it working with hover?

    question hover 
    opened by kingwill101 36
  • Windows: Failed to create OpenGL context

    Windows: Failed to create OpenGL context

    Flutter version

    Flutter 1.9.1+hotfix.1 β€’ channel beta β€’ https://github.com/flutter/flutter
    Framework β€’ revision a1fb3fabec (27 hours ago) β€’ 2019-09-03 18:07:52 -0700
    Engine β€’ revision cc88fa45db
    Tools β€’ Dart 2.5.0
    

    Go Flutter Version

    v0.29.0 
    

    But v0.28.0 work.

    Golang Version

    go version go1.13 windows/amd64
    

    Windows version

    Windows 10 1903
    

    Golang errors (Optional)

    hover: Using engine from cache
    go: finding github.com/go-gl/glfw latest
    go: finding github.com/go-gl/gl latest
    creating glfw window: VersionUnavailable: WGL: Failed to create OpenGL context
    hover: app 'xx' exited with error: exit status 1
    

    Steps to Reproduce

    hover run
    
    embedder 
    opened by nzlov 35
  • Black screen in windows.

    Black screen in windows.

    Hover doctor

    $ hover doctor
    hover: Running on windows
    hover: Sharing flutter version
    Flutter 1.17.0-3.3.pre β€’ channel beta β€’ https://github.com/flutter/flutter.git
    Framework β€’ revision 0da1ab0922 (3 days ago) β€’ 2020-04-28 11:02:34 -0700
    Engine β€’ revision 376ad6a64b
    Tools β€’ Dart 2.8.0
    hover: Flutter engine commit: https://github.com/flutter/engine/commit/376ad6a64b08aa26005e3f82aed26de2e290b572
    hover: Finding out the C compiler version
    gcc (tdm64-1) 9.2.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    hover: Sharing the content of go.mod
    module github.com/go-flutter-desktop/examples/stocks/desktop
    
    go 1.12
    
    require (
            github.com/go-flutter-desktop/go-flutter v0.39.0
            github.com/pkg/errors v0.9.1
    )
    hover: Warning: No hover.yaml file found: open go\hover.yaml: The system cannot find the file specified.
    hover: Sharing the content of go/cmd
    go\cmd\main.go  go\cmd\options.go
    

    Error output

    Using hover build [...] --XXX to build my application, I get the following error:

    WGL: Failed to make context current: The requested resource is in use
    

    I try to build a demo project from examples/stocks for testing. But when I run hover run, I always get a black screen of the application. My windows version is 1909.

    embedder 
    opened by frocelu 31
  • Build Windows

    Build Windows

    When I try run hover build windows I awalys get this:

    hover: Downloading engine for platform windows-release at version 2c527d6c7e70e2f51bca1a46f1174b250f84c5da...
    hover: Failed to download engine: failed to get Content-Length header: strconv.Atoi: parsing "": invalid syntax
    hover: Engine builds are a bit delayed after they are published in flutter.
    hover: You can either try again later or switch the flutter channel to beta, because these engines are more likely to be already built.
    hover: To dig into the already built engines look at https://github.com/flutter-rs/engine-builds/releases and https://github.com/flutter-rs/engine-builds/actions
    
    hover 
    opened by Bestfastfire 30
  • Hover 0.44.0 segfault on `hover run` in Linux

    Hover 0.44.0 segfault on `hover run` in Linux

    hover doctor -v                                                        
    13:59:12 doctor.go:39: hover: Hover version v0.44.0 running on linux
    13:59:12 doctor.go:41: hover: Sharing flutter version
    Flutter 1.23.0-18.1.pre β€’ channel beta β€’ https://github.com/flutter/flutter.git
    Framework β€’ revision 198df796aa (5 days ago) β€’ 2020-10-15 12:04:33 -0700
    Engine β€’ revision 1d12d82d9c
    Tools β€’ Dart 2.11.0 (build 2.11.0-213.1.beta)
    13:59:16 doctor.go:51: hover: Flutter engine commit: https://github.com/flutter/engine/commit/1d12d82d9cb54876f58044aa52198d53ec841c3d
    13:59:17 doctor.go:63: hover: Finding out the C compiler version
    gcc (GCC) 10.2.0
    Copyright (C) 2020 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    13:59:17 doctor.go:70: hover: Sharing the content of go.mod
    module trackself/go
    
    go 1.14
    
    require (
            github.com/JanezStupar/flutter_systray/go v0.3.1
            github.com/Xuanwo/go-locale v1.0.0 // indirect
            github.com/getlantern/golog v0.0.0-20200929154820-62107891371a // indirect
            github.com/getlantern/ops v0.0.0-20200403153110-8476b16edcd6 // indirect
            github.com/getlantern/systray v1.0.5 // indirect
            github.com/go-flutter-desktop/go-flutter v0.42.0
            github.com/go-flutter-desktop/plugins/path_provider v0.4.0
            github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2 // indirect
            github.com/miguelpruivo/flutter_file_picker/go v0.0.0-20200913011135-405fd7f97798
            github.com/pkg/errors v0.9.1
            github.com/shurcooL/trayhost v0.0.0-20181020202213-114974ef9e16 // indirect
            golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13 // indirect
            gopkg.in/yaml.v2 v2.2.4 // indirect
    )
    13:59:17 doctor.go:84: hover: Sharing the content of hover.yaml
    application-name: Track.Self
    executable-name: trackself
    package-name: trackself
    license: UNLICENSED
    target: lib/main_desktop.dart
    branch: ""
    cache-path: ""
    opengl: ""
    engine-version: ""
    13:59:17 doctor.go:93: hover: Sharing the content of go/cmd
    go/cmd/import-file_picker-plugin.go     go/cmd/import-flutter_systray-plugin.go go/cmd/import-path_provider-plugin.go   go/cmd/main.go  go/cmd/options.go
    
    

    Output of hover run. Note that the same process works fine with hover 0.43.0

    hover run                 
    hover: Downloading engine for platform linux-debug_unopt at version 1d12d82d9cb54876f58044aa52198d53ec841c3d...                                               
    Download completed in 205.28s                                           
    hover: Cleaning the build directory                                     
    hover: Bundling flutter app                                             
    Running "flutter pub get" in desktopapp...                          1.4s                                                                                      
    Font subsetting is not supported in debug mode. The --tree-shake-icons flag will be ignored.                                                                  
    hover: Compiling 'go-flutter' and plugins
    # github.com/shurcooL/trayhost                                
    In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                     from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,   
                     from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                     from /usr/include/gtk-2.0/gtk/gtkbin.h:35,   
                     from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                     from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,     
                     from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                     from /usr/include/gtk-2.0/gtk/gtk.h:33,                                                                                                      
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:
    /usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: β€˜GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]                                           
      236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
          | ^~~~                                                     
    In file included from /usr/include/glib-2.0/gobject/gobject.h:24, 
                     from /usr/include/glib-2.0/gobject/gbinding.h:29,
                     from /usr/include/glib-2.0/glib-object.h:22, 
                     from /usr/include/glib-2.0/gio/gioenums.h:28,
                     from /usr/include/glib-2.0/gio/giotypes.h:28,
                     from /usr/include/glib-2.0/gio/gio.h:26,               
                     from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                     from /usr/include/gtk-2.0/gdk/gdk.h:32,
                     from /usr/include/gtk-2.0/gtk/gtk.h:32,                                                                                                      
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:                                 
    /usr/include/glib-2.0/gobject/gtype.h:679:1: note: declared here
      679 | {
          | ^                                                       
    In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,  
                     from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,    
                     from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                     from /usr/include/gtk-2.0/gtk/gtk.h:126,                                                                                                     
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:      
    /usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: β€˜GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]                           
       73 |   GTimeVal last_popdown;
          |   ^~~~~~~~                                            
    In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                     from /usr/include/glib-2.0/glib.h:30,            
                     from /usr/include/glib-2.0/gobject/gbinding.h:28,
                     from /usr/include/glib-2.0/glib-object.h:22, 
                     from /usr/include/glib-2.0/gio/gioenums.h:28,
                     from /usr/include/glib-2.0/gio/giotypes.h:28,
                     from /usr/include/glib-2.0/gio/gio.h:26,               
                     from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                     from /usr/include/gtk-2.0/gdk/gdk.h:32,
                     from /usr/include/gtk-2.0/gtk/gtk.h:32,                                                                                                      
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:                                 
    /usr/include/glib-2.0/glib/gtypes.h:547:8: note: declared here
      547 | struct _GTimeVal
          |        ^~~~~~~~~                                                       
    hover: Successfully compiled executable binary for linux  
    hover: Build finished, starting app...                          
    hover: Running trackself in debug_unopt mode                                                                                                                                                                                                                                                                                 
    go-flutter: calculated pixelRatio limited to a minimum of 1.0. metrics: {"dpi":93.78461538461538,"monitorWidthMm":520,"monitorWidthSc":1920,"mscpi":93.78461538461538,"pixelRatio":0.5861538461538461,"ppsc":1,"windowWidthPx":360,"windowWidthSc":360}                                                                      
    flutter: Observatory listening on http://127.0.0.1:50300/                
    hover: Connecting hover to 'trackself' for hot reload                                                                                                         
    hover: App 'trackself' exited with error: signal: segmentation fault (core dumped)                                                                            
    Error connecting to the service protocol: failed to connect to http://127.0.0.1:50300/                                          
    
    hover 
    opened by JanezStupar 30
  • "hover build linux-snap" failing on MacOS

    to Reproduce:

    https://github.com/winwisely99/enrollment-mod

    make flu-desk-pack

    It tries to build all 3 linux types. debian works ( hence i closed this issue: https://github.com/go-flutter-desktop/go-flutter/issues/284) snap fails...

    d /Users/apple/workspace/go/src/github.com/winwisely99/enrollment-mod/enrollment && hover build linux-snap
    hover: Using engine from cache
    hover: Cleaning the build directory
    hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
    hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
    hover: Bundling flutter app
    hover: Because darwin is not able to compile for linux out of the box, a cross-compiling container is used
    Sending build context to Docker daemon  2.048kB
    Step 1/2 : FROM dockercore/golang-cross
     ---> e9c59db2dea3
    Step 2/2 : RUN apt-get update && apt-get install libgl1-mesa-dev xorg-dev -y
     ---> Using cache
     ---> 53dfbc3de38e
    Successfully built 53dfbc3de38e
    Successfully tagged hover-build-cc:latest
    hover: Cross-Compiling 'go-flutter' and plugins using docker
    hover: Successfully cross-compiled for linux
    hover: Packaging snap in /var/folders/wp/ff6sz9qs6g71jnm12nj2kbyw0000gp/T/hover-build-enrollment-linux-snap000263251
    Sending build context to Docker daemon  5.632kB
    Step 1/1 : FROM snapcore/snapcraft
    latest: Pulling from snapcore/snapcraft
    16c48d79e9cc: Pull complete 
    3c654ad3ed7d: Pull complete 
    6276f4f9c29d: Pull complete 
    a4bd43ad48ce: Pull complete 
    b05a6d825956: Pull complete 
    113e1c5c1910: Pull complete 
    1264ad5fe4e7: Pull complete 
    c4733adb6584: Pull complete 
    Digest: sha256:c35c269b969a85a361b3c7bb7fb75edd68f130fac07de14ee7d5258dad8a2c6d
    Status: Downloaded newer image for snapcore/snapcraft:latest
     ---> 3f1fc68a4f8a
    Successfully built 3f1fc68a4f8a
    Successfully tagged hover-build-packaging-linux-snap:latest
    The following snaps are required but not installed as snapcraft is running inside docker or podman container: core18.
    Please ensure the environment is properly setup before continuing.
    Ignore this message if the appropriate measures have already been taken
    Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
    Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
    Get:7 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [973 kB]
    Get:8 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
    Get:9 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
    Get:11 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [587 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1350 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [991 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [19.2 kB]
    Get:16 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [6276 B]
    Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7942 B]
    Get:18 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8807 B]
    Fetched 16.1 MB in 0s (0 B/s)
    Get:1 libxdmcp6_1.1.2-1.1_amd64.deb [11.0 kB]
    Fetched 11.0 kB in 0s (0 B/s)
    Get:1 libdrm-nouveau2_2.4.91-2~16.04.1_amd64.deb [16.3 kB]
    Fetched 16.3 kB in 0s (0 B/s)
    Get:1 libpciaccess0_0.13.4-1_amd64.deb [18.1 kB]
    Fetched 18.1 kB in 0s (0 B/s)
    Get:1 libxcb-present0_1.11.1-1ubuntu1_amd64.deb [5218 B]
    Fetched 5218 B in 0s (0 B/s)
    Get:1 libglapi-mesa_18.0.5-0ubuntu0~16.04.1_amd64.deb [23.4 kB]
    Fetched 23.4 kB in 0s (0 B/s)
    Get:1 libxrender1_0.9.9-0ubuntu1_amd64.deb [18.5 kB]
    Fetched 18.5 kB in 0s (0 B/s)
    Get:1 libelf1_0.165-3ubuntu1.2_amd64.deb [43.5 kB]
    Fetched 43.5 kB in 0s (0 B/s)
    Get:1 libbsd0_0.8.2-1_amd64.deb [41.7 kB]
    Fetched 41.7 kB in 0s (0 B/s)
    Get:1 zlib1g_1.2.8.dfsg-2ubuntu4.1_amd64.deb [51.2 kB]
    Fetched 51.2 kB in 0s (0 B/s)
    Get:1 libxcursor1_1.1.14-1ubuntu0.16.04.2_amd64.deb [19.9 kB]
    Fetched 19.9 kB in 0s (0 B/s)
    Get:1 gcc-6-base_6.0.1-0ubuntu1_amd64.deb [14.3 kB]
    Fetched 14.3 kB in 0s (0 B/s)
    Get:1 libx11-6_1.6.3-1ubuntu2.1_amd64.deb [570 kB]
    Fetched 570 kB in 0s (0 B/s)
    Get:1 libexpat1_2.1.0-7ubuntu0.16.04.5_amd64.deb [71.5 kB]
    Fetched 71.5 kB in 0s (0 B/s)
    Get:1 libxshmfence1_1.2-1_amd64.deb [5042 B]
    Fetched 5042 B in 0s (0 B/s)
    Get:1 libgcc1_6.0.1-0ubuntu1_amd64.deb [38.5 kB]
    Fetched 38.5 kB in 0s (0 B/s)
    Get:1 libdrm-amdgpu1_2.4.91-2~16.04.1_amd64.deb [18.9 kB]
    Fetched 18.9 kB in 0s (0 B/s)
    Get:1 libllvm6.0_6.0-1ubuntu2~16.04.1_amd64.deb [14.3 MB]
    Fetched 14.3 MB in 0s (0 B/s)
    Get:1 libxau6_1.0.8-1_amd64.deb [8376 B]
    Fetched 8376 B in 0s (0 B/s)
    Get:1 libtinfo5_6.0+20160213-1ubuntu1_amd64.deb [76.8 kB]
    Fetched 76.8 kB in 0s (0 B/s)
    Get:1 libxcb1_1.11.1-1ubuntu1_amd64.deb [40.0 kB]
    Fetched 40.0 kB in 0s (0 B/s)
    Get:1 libxinerama1_1.1.3-1_amd64.deb [7908 B]
    Fetched 7908 B in 0s (0 B/s)
    Get:1 libxrandr2_1.5.0-1_amd64.deb [17.6 kB]
    Fetched 17.6 kB in 0s (0 B/s)
    Get:1 libdrm2_2.4.91-2~16.04.1_amd64.deb [30.8 kB]
    Fetched 30.8 kB in 0s (0 B/s)
    Get:1 libglu1-mesa_9.0.0-2.1_amd64.deb [168 kB]
    Fetched 168 kB in 0s (0 B/s)
    Get:1 libxfixes3_5.0.1-2_amd64.deb [11.1 kB]
    Fetched 11.1 kB in 0s (0 B/s)
    Get:1 libx11-data_1.6.3-1ubuntu2.1_all.deb [113 kB]
    Fetched 113 kB in 0s (0 B/s)
    Get:1 libgl1-mesa-dri_18.0.5-0ubuntu0~16.04.1_amd64.deb [6080 kB]
    Fetched 6080 kB in 0s (0 B/s)
    Get:1 libxxf86vm1_1.1.4-1_amd64.deb [10.6 kB]
    Fetched 10.6 kB in 0s (0 B/s)
    Get:1 libxdamage1_1.1.4-2_amd64.deb [6946 B]
    Fetched 6946 B in 0s (0 B/s)
    Get:1 libgl1-mesa-glx_18.0.5-0ubuntu0~16.04.1_amd64.deb [132 kB]
    Fetched 132 kB in 0s (0 B/s)
    Get:1 libedit2_3.1-20150325-1ubuntu2_amd64.deb [76.5 kB]
    Fetched 76.5 kB in 0s (0 B/s)
    Get:1 libdrm-intel1_2.4.91-2~16.04.1_amd64.deb [59.9 kB]
    Fetched 59.9 kB in 0s (0 B/s)
    Get:1 libffi6_3.2.1-4_amd64.deb [17.8 kB]
    Fetched 17.8 kB in 0s (0 B/s)
    Get:1 libdrm-radeon1_2.4.91-2~16.04.1_amd64.deb [21.5 kB]
    Fetched 21.5 kB in 0s (0 B/s)
    Get:1 libstdc++6_5.4.0-6ubuntu1~16.04.11_amd64.deb [393 kB]
    Fetched 393 kB in 0s (0 B/s)
    Get:1 libxcb-glx0_1.11.1-1ubuntu1_amd64.deb [20.9 kB]
    Fetched 20.9 kB in 0s (0 B/s)
    Get:1 libxcb-dri2-0_1.11.1-1ubuntu1_amd64.deb [6882 B]
    Fetched 6882 B in 0s (0 B/s)
    Get:1 libsensors4_3.4.0-2_amd64.deb [28.4 kB]
    Fetched 28.4 kB in 0s (0 B/s)
    Get:1 libxcb-dri3-0_1.11.1-1ubuntu1_amd64.deb [5218 B]
    Fetched 5218 B in 0s (0 B/s)
    Get:1 libx11-xcb1_1.6.3-1ubuntu2.1_amd64.deb [9044 B]
    Fetched 9044 B in 0s (0 B/s)
    Get:1 libxcb-sync1_1.11.1-1ubuntu1_amd64.deb [8324 B]
    Fetched 8324 B in 0s (0 B/s)
    Get:1 libxext6_1.3.3-1_amd64.deb [29.4 kB]
    Fetched 29.4 kB in 0s (0 B/s)
    Get:1 libdrm-common_2.4.91-2~16.04.1_all.deb [4764 B]
    Fetched 4764 B in 0s (0 B/s)
    Pulling app 
    Pulling assets 
    Pulling desktop 
    Building app 
    Building assets 
    Building desktop 
    Staging app 
    Sorry, an error occurred in Snapcraft:
    [Errno 17] File exists: 'libbsd.so.0.8.2' -> '/app/stage/lib/x86_64-linux-gnu/libbsd.so.0'
    Traceback (most recent call last):
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 109, in link_or_copy
        link(source, destination, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 143, in link
        os.link(source_path, destination, follow_symlinks=False)
    OSError: [Errno 5] Input/output error: '/app/parts/app/install/lib/x86_64-linux-gnu/libbsd.so.0' -> '/app/stage/lib/x86_64-linux-gnu/libbsd.so.0'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/snap/snapcraft/current/bin/snapcraft", line 11, in <module>
        load_entry_point('snapcraft==3.8', 'console_scripts', 'snapcraft')()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 764, in __call__
        return self.main(*args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 717, in main
        rv = self.invoke(ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 1114, in invoke
        return Command.invoke(self, ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/decorators.py", line 17, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/_runner.py", line 103, in run
        snap_command.invoke(ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/_command.py", line 87, in invoke
        return super().invoke(ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 261, in snap
        _execute(steps.PRIME, parts=[], pack_project=True, output=output, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 66, in _execute
        lifecycle.execute(step, project_config, parts)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 94, in execute
        executor.run(step, part_names)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 148, in run
        self._handle_step(part_names, part, step, current_step, cli_config)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 162, in _handle_step
        getattr(self, "_run_{}".format(current_step.name))(part)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 226, in _run_stage
        self._run_step(step=steps.STAGE, part=part, progress="Staging")
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 281, in _run_step
        getattr(part, step.name)()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 740, in stage
        self._do_runner_step(steps.STAGE)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 242, in _do_runner_step
        return getattr(self._runner, "{}".format(step.name))()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 84, in stage
        "override-stage", self._override_stage_scriptlet, self._stagedir
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 137, in _run_scriptlet
        scriptlet_name, function_call.strip()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 193, in _handle_builtin_function
        function(**function_args)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 762, in _do_stage
        fixup_func=fixup_func,
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 1125, in _migrate_files
        file_utils.link_or_copy(src, dst, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 117, in link_or_copy
        copy(source, destination, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 166, in copy
        shutil.copy2(source, destination, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/usr/lib/python3.5/shutil.py", line 251, in copy2
        copyfile(src, dst, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/usr/lib/python3.5/shutil.py", line 112, in copyfile
        os.symlink(os.readlink(src), dst)
    FileExistsError: [Errno 17] File exists: 'libbsd.so.0.8.2' -> '/app/stage/lib/x86_64-linux-gnu/libbsd.so.0'
    You can find the traceback in file '/tmp/tmpf46sgiyb/trace.txt'.
    hover: Docker run failed: exit status 1
    make: *** [flu-desk-pack] Error 1
    
    wontfix MacOS hover experimental bug 
    opened by winwisely99 30
  • Need code review for file_picker plungin and test on darwin / linux before merge to pub.dev

    Need code review for file_picker plungin and test on darwin / linux before merge to pub.dev

    I have tested on Windows 10. It works fine. But I only have Windows, can't test on linux and darwin Could you please help me. Thanks.

    plugin https://github.com/chunhunghan/file_picker

    android https://github.com/chunhunghan/file_picker_example

    good first issue plugin 
    opened by chunhunghan 30
  • windows-msi build error with docker, linux-deb build not working even though should be possible

    windows-msi build error with docker, linux-deb build not working even though should be possible

    Looks like with the recent updates to hover, its not possible to compile for a platform from different host platform even with the --docker option. Is that the case really ? I am trying to compile ubuntu and windows packages from macOS with the --docker option and I am getting the following output:

    For linux-deb:

    swapn@Swapnils-MacBook-Pro tomatoroapp % hover build linux-deb --docker
    hover: AOT builds currently only work on their host OS
    

    Also I changed the checks in code to allow running linux-deb packaging with docker option, and on trying to build it, got the following error:

    swapn@Swapnils-MacBook-Pro tomatoroapp % hover build linux-deb --docker
    hover: Downloading engine for platform linux-release at version 5babba6c4d25fa237bbf755ab85c9a0c50b3c6ec...
    Download completed in 45.03s
    hover: Failed to strip /Users/swapn/Library/Caches/hover/engine/linux-release/libflutter_engine.so: exit status 1
    

    For windows-msi:

    swapn@Swapnils-MacBook-Pro tomatoroapp % hover build windows-msi --docker
    hover: Using engine from cache
    hover: Building using docker container
    Running this docker command: /usr/local/bin/docker run --rm --mount type=bind,source=/Users/swapn/Documents/Projects/Tomatoro/tomatoroapp,target=/app --mount type=bind,source=/Users/swapn/Library/Caches/hover/engine,target=/root/.cache/hover/engine --mount type=bind,source=/Users/swapn/Library/Caches/hover/docker-go-cache,target=/go-cache --env GOCACHE=/go-cache --env HOVER_SAFE_CHOWN_UID=501 --env HOVER_SAFE_CHOWN_GID=20 --env GOPROXY=https://proxy.golang.org,direct
     --env GOPRIVATE=
     goflutter/hover:latest hover-safe.sh build windows-msi --skip-engine-download --version-number 1.0.20+24
    docker container: docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /host_mnt/Users/swapn/Library/Caches/hover/engine.
    docker container: See 'docker run --help'.
    hover: Docker run failed: exit status 125
    

    Building for linux from docker with macOS shhould be possible since docker on macOS runs inside linux VM. Not sure why the error for windows-msi happens.

    hover doctor output:

    hover: Hover version (devel) running on darwin
    hover: Sharing packaging tools
    hover: darwin-bundle is supported
    hover: darwin-dmg is supported
    hover: darwin-pkg is supported
    hover: Packaging linux-appimage is not supported on darwin
    hover: To still package linux-appimage on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-deb is not supported on darwin
    hover: To still package linux-deb on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-pkg is not supported on darwin
    hover: To still package linux-pkg on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-rpm is not supported on darwin
    hover: To still package linux-rpm on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-snap is not supported on darwin
    hover: To still package linux-snap on darwin you need to run hover with the `--docker` flag.
    hover: Packaging windows-msi is not supported on darwin
    hover: To still package windows-msi on darwin you need to run hover with the `--docker` flag.
    hover: 
    hover: Sharing flutter version
    Flutter 1.22.0 β€’ channel unknown β€’ unknown source
    Framework β€’ revision d408d302e2 (3 months ago) β€’ 2020-09-29 11:49:17 -0700
    Engine β€’ revision 5babba6c4d
    Tools β€’ Dart 2.10.0
    hover: Flutter engine commit: https://github.com/flutter/engine/commit/5babba6c4d25fa237bbf755ab85c9a0c50b3c6ec
    hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
    hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
    hover: Finding out the C compiler version
    Apple clang version 12.0.0 (clang-1200.0.32.2)
    Target: x86_64-apple-darwin20.1.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    hover: Sharing the content of go.mod
    module tomatoro/go
    
    go 1.13
    
    require (
            github.com/BestBurning/platform_device_id/go v0.1.1
            github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb // indirect
            github.com/go-flutter-desktop/go-flutter v0.42.0
            github.com/go-flutter-desktop/plugins/package_info v0.0.0-20200415181852-215d9c007301
            github.com/go-flutter-desktop/plugins/path_provider v0.3.3
            github.com/go-flutter-desktop/plugins/shared_preferences v0.4.3
            github.com/go-flutter-desktop/plugins/url_launcher v0.1.2
            github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1
            github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2
            github.com/martinlindhe/notify v0.0.0-20181008203735-20632c9a275a
            github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect
            github.com/pkg/errors v0.9.1
            github.com/sidevesh/go-flutter-plugin-sqflite v0.0.0-20200718224941-b1ba30c6bdda
            gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2 // indirect
    )
    hover: Sharing the content of hover.yaml
    application-name: Tomatoro
    executable-name: ""
    package-name: ""
    license: UNLICENSED
    target: lib/main_desktop.dart
    branch: ""
    cache-path: ""
    opengl: ""
    engine-version: ""
    hover: Sharing the content of go/cmd
    go/cmd/desktop_local_notifications.go   go/cmd/main.go  go/cmd/options.go       go/cmd/transparent_title_bar_darwin.go  go/cmd/transparent_title_bar_unsupported.go
    
    opened by sidevesh 24
  • How can I use golang on Android or iOS?

    How can I use golang on Android or iOS?

    I want to write an application on all platforms, it's a perfect solution working with go-flutter on desktop platforms. But I wonder how can I write apps efficiently on Android or iOS, I had seen go mobile or go bind, it seems I need to write code on Java/Kotlin or Swift, which is called by Dart and pass to Go API. I think there must be some ways simpler to call Go API in flutter.

    enhancement plugin-system 
    opened by chengxuncc 20
  • Bug: Cross-Compile corrupts other builds

    Bug: Cross-Compile corrupts other builds

    @jld3103

    When I build one platform, the other folders gets updated and corrupted. Not sure whats happening but on ubuntu platfrom.

    [ERROR:flutter/shell/platform/embedder/embedder.cc(629)] 
    Not running in AOT mode but could not resolve the kernel binary.
    [ERROR:flutter/shell/platform/embedder/embedder.cc(53)]
    Returning error 'kInvalidArguments' (2) from Flutter Embedder API call 
    to 'FlutterEngineRun'. 
    Origin: ../../flutter/shell/platform/embedder/embedder.cc:631
    go-flutter: engine.Run() returned result code 2 (invalid arguments)
    

    Let me know if you guys can reproduce this?

    Flutter version

    Doctor summary (to see all details, run flutter doctor -v): [βœ“] Flutter (Channel master, v1.10.7-pre.70, on Linux, locale en_US.UTF-8)

    [βœ“] Android toolchain - develop for Android devices (Android SDK version 29.0.2) [βœ“] Chrome - develop for the web [βœ“] Linux toolchain - develop for Linux desktop [βœ“] Android Studio (version 3.5) [βœ“] Android Studio (version 3.4) [βœ“] VS Code (version 1.36.0) [βœ“] Connected device (3 available)

    wontfix bug hover 
    opened by jascodes 20
  • Unable to build anything (no .packages file)

    Unable to build anything (no .packages file)

    Hover doctor

    $ flutter doctor
    Flutter 3.6.0-0.1.pre β€’ channel beta β€’ https://github.com/flutter/flutter.git
    Framework β€’ revision 75927305ff (3 tygodnie temu) β€’ 2022-11-17 05:52:50 +0530
    Engine β€’ revision b754eabc98
    Tools β€’ Dart 2.19.0 (build 2.19.0-374.1.beta) β€’ DevTools 2.19.0
    [...]
    

    Error output

    Using hover build [...] --XXX to build my application, I get the following error:

    hover: Generating kernel snapshot
    result 97ec1709-f58d-434b-b3b3-f41ff40bad12
    Error: Error when reading '.packages': No such file or directory
    Error: Error when reading '.packages': No such file or directory
    [...]
    

    How to reproduce?

    $ flutter create testapp
    $ cd testapp
    $ flutter run --device-id linux # confirm that the app runs
    $ hover init
    $ hover build linux # press y when asked
    

    Build will fail.

    opened by MrCyjaneK 1
  • fix(deps): update module golang.org/x/text to v0.6.0

    fix(deps): update module golang.org/x/text to v0.6.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | golang.org/x/text | require | minor | v0.3.7 -> v0.6.0 |


    Release Notes

    golang/text

    v0.6.0

    Compare Source

    v0.5.0

    Compare Source

    v0.4.0

    Compare Source

    v0.3.8

    Compare Source


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update github.com/go-gl/glfw/v3.3/glfw digest to 93cebf7

    fix(deps): update github.com/go-gl/glfw/v3.3/glfw digest to 93cebf7

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/go-gl/glfw/v3.3/glfw | require | digest | 55e207c -> 93cebf7 |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Auto-Updating app like discord or telegram desktops

    Auto-Updating app like discord or telegram desktops

    Is your feature request related to a problem?

    I think it's feature...

    A clear and concise description of what the problem is. After I distribute the app to clients, of course, I would want to add some new features or fix some bugs. At that time, I have to send newly released versions of the app to clients in dmg or in exe file types. But it's really frustrating for me and my clients.

    Describe the feature you'd like

    So I want to add auto-updating whenever the app starts like discord or telegram desktop apps. How can I implement it? Does your app support such a feature? if not, could you please implement it? so that i can learn it and copy it to my own desktop apps ). I have been searching for a solution to this problem for months... That would be great if you can help me and people who are facing the same problems.

    enhancement 
    opened by Lazizbek97 0
  • arm linux supper

    arm linux supper

    Is your feature request related to a problem?

    A clear and concise description of what the problem is. I have an issue when [...]

    Describe the feature you'd like

    A clear and concise description of what you want to happen.

    arm linux supper

    enhancement 
    opened by aadog 0
Owner
Flutter on Windows, MacOS and Linux
null
Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size.

desktop_window Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size. Usage import 'package:desktop_window/desktop_window.dart

ChunKoo Park 72 Dec 2, 2022
A simple-to-use flutter update package for Windows, MacOS, and Linux.

Updat - The simple-to-use, flutter-based desktop update package Updat is a simple-to-use reliable flutter-native updater that handles your application

Eduardo M. 14 Dec 21, 2022
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Hitesh Kumar Saini 417 Dec 29, 2022
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter

quick_usb A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter Usage List devices List devices with additional description Get device

Woodemi Co., Ltd 39 Oct 1, 2022
A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!

BlueBubbles Android App BlueBubbles is an open-source and cross-platform ecosystem of apps aimed to bring iMessage to Android, Windows, Linux, and mor

BlueBubbles 318 Jan 8, 2023
An 🎡 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.

βœ’ libwinmedia is sequel to this project. It provides network playback, better format support, control & features. An audio playback library for Flutte

Hitesh Kumar Saini 50 Oct 31, 2022
TinyPNG4Flutter - A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS and windows

TinyPNG4Flutter A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS

ι€Έι£Ž 20 Dec 8, 2022
A cross-platform (Windows/macOS) scanner plugin for Flutter

quick_scanner A cross-platform (Windows/macOS) scanner plugin for Flutter Usage QuickScanner.startWatch(); var _scanners = await QuickScanner.getScan

Woodemi Co., Ltd 5 Jun 10, 2022
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Miguel Ruivo 987 Jan 6, 2023
Flutter library for window blur & transparency effects for on Windows & Linux. πŸ’™

flutter_acrylic Window blur & transparency effects for Flutter on Windows & Linux Installation Mention in your pubspec.yaml. dependencies: ... flu

Hitesh Kumar Saini 437 Dec 31, 2022
A Flutter plugin to read πŸ”– metadata of 🎡 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Harmonoid 60 Dec 2, 2022
🎡 A cross-platform media playback library for C/C++ with good number of features (only Windows & Linux).

libwinmedia A cross-platform media playback library for C/C++ & Flutter with good number of features. Example A very simple example can be as follows.

Harmonoid 38 Nov 2, 2022
A pure Dart implementation of Firebase with initial support aimed at FlutterFire for Linux & Windows.

FlutterFire Desktop A work in progress pure Dart implementation of Firebase with initial support aimed at FlutterFire for Linux & Windows. A FlutterFi

Invertase 293 Jan 4, 2023
A Dart FFI package to send πŸ’¬ toasts on Windows. Written in C++, based on WinToast.

desktoasts A Dart package to send native ?? toasts on Windows. Installation For Flutter dependencies: ... desktoasts: ^0.0.2 For Dart CLI here Sup

Hitesh Kumar Saini 37 Mar 7, 2022
Flutter widgets and themes implementing the current macOS design language.

macos_ui Flutter widgets and themes implementing the current macOS design language. NOTE: This package depends on the excellent native_context_menu pl

Reuben Turner 1.1k Jan 1, 2023
Simple file explorer for desktop made with Flutter, highly inspired by macOS Finder

file_explorer A basic file explorer made with Flutter Getting Started This project is a starting point for a Flutter application. A few resources to g

Valentin 0 Nov 7, 2021
A macOS plugin which can register a callback for a global keyboard shortcut.

global_shortcuts A macOS plugin which can register a callback for a global keyboard shortcut. As the shortcut is global, the callback will be triggere

James Leahy 7 Jan 2, 2023
A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

EN | δΈ­ζ–‡ Touch Display Lite plugin for Volumio 3 Feng Zhou, 2021-12 Touch Display Lite is a clean and fast user interface for Volumio 3, the Linux dist

Feng Zhou 5 Jul 26, 2022
A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

Building a Yaru app with Flutter Summary URL https://github.com/ubuntu/user_manager Category Environment Linux Status Feedback Link Author Frederik Fe

Ubuntu 22 Dec 21, 2022