Build beautiful desktop apps with flutter and rust. 🌠

Last update: Aug 9, 2022

flutter-rs

Crates.io flutter version Discord chat MIT licensed

Build flutter desktop app in dart & rust.

flutter-app-template

Get Started

Install requirements

Develop

  • install the cargo flutter command

    cargo install cargo-flutter

  • create your new project from the template

    git clone https://github.com/flutter-rs/flutter-app-template

  • To develop with cli hot-reloading:

    cd flutter-app-template

    cargo flutter run

Distribute

  • To build distribution, use: cargo flutter --format appimage build --release

Contribution

To contribute to flutter-rs, please see CONTRIBUTING.

ChangeLog

CHANGELOG.

GitHub

https://github.com/flutter-rs/flutter-rs
Comments
  • 1. Hack to make X11 work

    This is a lot less invasive than my previous pull requests. Feels like a hack though. I am checking against the OS which doesn't specifically block out X11, but seeing as how flutter uses X11 for linux, we shouldn't run into any issues.

    Reviewed by j4qfrost at 2020-02-03 07:37
  • 2. Add flutter-winit

    This works on linux wayland and kind of works on android using a simple test app.

    Things that are missing:

    • [x] window and platform handlers need to be implemented properly
    • [x] text plugin needs to be hooked up
    • [ ] https://github.com/rust-windowing/winit/pull/1328
    • [ ] https://github.com/rust-windowing/glutin/pull/1249
    • [x] app demo needs to be updated and some android specific code added
    Reviewed by dvc94ch at 2019-12-23 14:39
  • 3. build and link `libflutter_engine` statically

    Hello, Is there is any reason why we don't already build the flutter-engine and link it as a static library? it would make it easier to bundle the whole application and send it to the consumer.

    Also, I made a try to build my simple (counter) project to musl target. but it failed to compile glfw, anyway it's not related maybe I would open another issue for that.

    Here is some information about my system:

    $ uname -a
    Linux Hex 4.19.60-1-MANJARO #1 SMP PREEMPT Sun Jul 21 12:17:26 UTC 2019 x86_64 GNU/Linux
    
    $ rustc -Vv                
    rustc 1.38.0-nightly (dddb7fca0 2019-07-30)
    binary: rustc
    commit-hash: dddb7fca09dc817ba275602b950bb81a9032fb6d
    commit-date: 2019-07-30
    host: x86_64-unknown-linux-gnu
    release: 1.38.0-nightly
    LLVM version: 9.0
    
    Reviewed by shekohex at 2019-08-07 17:48
  • 4. flutter + rs on (macos) desktop

    I've been investigating flutter for the desktop for a new project. I develop on Mac, but want to develop for cross-platform.

    I was happy to see and be able to use the flutter desktop support as documented here: https://flutter.dev/desktop

    But I haven't figured out how to do flutter development in rust using flutter-rs for the desktop.

    I think the problems are related to the use of a specific flutter-engine?

    Sorry it's a bit of a vague question - but, is it possible for me to configure things to use flutter-rs, compatible with flutter master channel to get support for desktop on macos?

    Reviewed by andrewdavidmackenzie at 2020-02-29 18:58
  • 5. Use builder pattern

    An initial step towards supporting more configuration options.

    In the future, handler will be broken down in opengl handler or something of the likes, allowing the engine to be constructed with with_gl_backend(), with_software_backend() etc.

    It also then allows for optional features to be added in the future, such as with_semantics_handler, or with_persistent_cache.

    Currently, FlutterEngine::new is going to get bloated, one solution is some sort of FlutterConfig struct for data that doesn't change, then allowing engine.config().assets()

    Reviewed by csnewman at 2020-02-09 16:10
  • 6. Make flutter engine independent of GLFW

    As a follow up to #88, I propose refactoring the library into:

    flutter-engine-sys: the ffi code flutter-engine: codec, channels, pointer events, tasks etc (i.e. wrapper around sys crate) flutter-engine-plugins: text-input etc, each plugin could be a feature flag flutter-engine-glfw: current logic around glfw rendering

    This means that the flutter-engine crate is no longer dependent on opengl etc, or glfw, and can be used as an independent library in the following manor:

    
    struct MyHandler {
    
    }
    
    impl FlutterEngineHandler for MyHandler {
        fn swap_buffers(&self) -> bool {
            unimplemented!()
        }
    
        fn make_current(&self) -> bool {
            unimplemented!()
        }
    
        fn clear_current(&self) -> bool {
            unimplemented!()
        }
    
        fn fbo_callback(&self) -> u32 {
            unimplemented!()
        }
    
        fn make_resource_current(&self) -> bool {
            unimplemented!()
        }
    
        fn gl_proc_resolver(&self, proc: *const i8) -> *mut c_void {
            unimplemented!()
        }
    
        fn wake_platform_thread(&self) {
            unimplemented!()
        }
    
        fn run_in_background(&self,  func: Box<dyn Future<Output = ()> + Send + 'static>) {
            unimplemented!()
        }
    
        fn get_texture_frame(
            &self,
            texture_id: i64,
            size: (usize, usize),
        ) -> Option<ExternalTextureFrame> {
            unimplemented!()
        }
    }
    
    // Handler is called by the engine on different threads to handle embedder specific tasks
    let handler = Arc::new(MyHandler);
    let engine = FlutterEngine::new(Arc::downgrade(&handler) as _);
    
    // Add plugins (plugins can registered before the engine starts)
    engine.add_plugin(KeyEventPlugin::default());
    
    // Start engine
    engine.run(assets_path, icu_data_path, arguments).expect("Failed to create engine");
    
    // In some sort of loop, you can call execute_platform_tasks, which will give the time you should sleep to for the next task
    let next_task_time = engine.execute_platform_tasks();
    

    If in the future flutter gets alternative renderers, such as Vulkan, we can break down the FlutterEngineHandler into multiple traits, or use a feature flag.

    TaskRunner are now an independent concept, meaning if flutter adds extra task runners in the future, the logic should be reusable.

    Reviewed by csnewman at 2019-12-08 17:49
  • 7. Better threading

    This PR adds a custom task runner to eliminate the deprecated call to __FlutterEngineFlushPendingTasksNow. The task runner will let glfw wait indefinitely for window events if no tasks have been posted. This improves performance by polling glfw events less often. There's also a new function available to plugins that allows tasks to be posted to the render thread. Plugins can use this function to do full OpenGL rendering to the resource window.

    I have also formatted the code and fixed some warnings.

    Reviewed by 999eagle at 2019-09-12 12:11
  • 8. Window flushes black when resizing

    I don't know if this is an issue on other platform or not, but in macOS, when you resize the window, it flush black then it render! so it's like there is no mechanism that resize the flutter content dynamically so it feel more natural.

    If you take a look to feather-apps, their application flush black less when resizing.

    That's the behavior, we suppose to get

    Reviewed by btwael at 2019-03-22 16:02
  • 9. Text doesn't show up in example

    I suspect that this is a missing library, but I'm not sure which one. When I run the example app (https://github.com/gliheng/flutter-app-template) I see this:

    flutter-desktop-no-text

    Everything is there except the text. Any suggestions? I'm on Ubuntu 18.10. I installed the following dependencies to get the Python script to work:

    • libglfw3
    • cmake
    • libxrandr-dev
    • libxcb-xinerama0-dev
    • libxinerama-dev
    • libxcursor-dev
    • freeglut3-dev
    • libxi-dev
    Reviewed by glesica at 2019-02-07 06:16
  • 10. Fix CursorEntered event crash

    This change is dependent on https://github.com/dvc94ch/winit/pull/1

    After tinkering with the app with the fix, I discovered an issue with holding down a mouse button. I will investigate further.

    Reviewed by j4qfrost at 2020-01-21 20:22
  • 11. wireguard - https://github.com/cloudflare/boringtun

    I am thinking about integrating the wireguard ( boringtun) with flutter. Not sure though is flutter-rs is at a stage where it could that. The FFI bindings should allow to build a wireguard GUI in flutter and then talk directly over FFI to configure it - in theory. And then all the flutter network calls would be using wireguard.

    Pretty cool if it works.

    Reviewed by joeblew99 at 2019-10-14 12:37
  • 12. Bump smallvec from 1.4.0 to 1.8.0

    Bumps smallvec from 1.4.0 to 1.8.0.

    Release notes

    Sourced from smallvec's releases.

    v1.8.0

    • Add optional support for the arbitrary crate (#275).

    v1.7.0

    • new_const and from_const constructors for creating a SmallVec in const contexts. Requires Rust 1.51 and the optional const_new feature. (#265)

    v1.6.1

    • Fix a possible buffer overflow in insert_many (#252, #254).

    v1.6.0

    • The "union" feature is now compatible with stable Rust 1.49 (#248, #247).
    • Fixed warnings when compiling with Rust 1.51 nightly (#242, #246).

    v1.5.1

    • Improve performance of push (#241).

    v1.5.0

    • Add the append method (#237).
    • Add support for more array sizes between 17 and 31 (#234).
    • Don't panic on deserialization errors (#238).

    v1.4.2

    • insert_many no longer leaks elements if the provided iterator panics (#213).
    • The unstable const_generics and specialization features are updated to work with the most recent nightly Rust toolchain (#232).
    • Internal code cleanup (#229, #231).

    v1.4.1

    • Don't allocate when the size of the element type is zero. Allocating zero bytes is undefined behavior. (#228)
    Commits
    • 0a4fdff Version 1.8.0
    • 6d0dea5 Auto merge of #275 - as-com:arbitrary-support, r=mbrubeck
    • 9bcd950 Add support for arbitrary
    • 7cbb3b1 Auto merge of #271 - saethlin:drain-aliasing-test, r=jdm
    • 0fced9d Test for drains that shift the tail, when inline
    • 218e0bb Merge pull request #270 from servo/github-actions
    • 52c50af Replace TravisCI with Github Actions.
    • 5ae217a Include the cost of shifts in insert/remove benchmarks (#268)
    • 58edc0e Version 1.7.0
    • 1e4b151 Added feature const_new which enables SmallVec::new_const() (#265)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-17 01:24
  • 13. Bump futures-task from 0.3.4 to 0.3.6

    Bumps futures-task from 0.3.4 to 0.3.6.

    Release notes

    Sourced from futures-task's releases.

    0.3.6

    • Fixed UB due to missing 'static on task::waker (#2206)
    • Added AsyncBufReadExt::fill_buf (#2225)
    • Added TryStreamExt::try_take_while (#2212)
    • Added is_connected_to method to mpsc::{Sender, UnboundedSender} (#2179)
    • Added is_connected_to method to oneshot::Sender (#2158)
    • Implement FusedStream for FuturesOrdered (#2205)
    • Fixed documentation links
    • Improved documentation
    • futures-test: Added track_closed method to AsyncWriteTestExt and SinkTestExt (#2159)
    • futures-test: Implemented more traits for InterleavePending (#2208)
    • futures-test: Implemented more traits for AssertUnmoved (#2208)

    0.3.5

    • Added StreamExt::flat_map.
    • Added StreamExt::ready_chunks.
    • Added *_unpin methods to SinkExt.
    • Added a cancellation() future to oneshot::Sender.
    • Added reunite method to ReadHalf and WriteHalf.
    • Added Extend implementations for Futures(Un)Ordered and SelectAll.
    • Added support for reexporting the join! and select! macros.
    • Added no_std support for the pending! and poll! macros.
    • Added Send and Sync support for AssertUnmoved.
    • Fixed a bug where Shared wasn't relinquishing control to the executor.
    • Removed the Send bound on the output of RemoteHandle.
    • Relaxed bounds on FuturesUnordered.
    • Reorganized internal tests to work under different --features.
    • Reorganized the bounds on StreamExt::forward.
    • Removed and replaced a large amount of internal unsafe.
    Changelog

    Sourced from futures-task's changelog.

    0.3.6 - 2020-10-06

    NOTE: This release has been yanked. See #2310 for details.

    • Fixed UB due to missing 'static on task::waker (#2206)
    • Added AsyncBufReadExt::fill_buf (#2225)
    • Added TryStreamExt::try_take_while (#2212)
    • Added is_connected_to method to mpsc::{Sender, UnboundedSender} (#2179)
    • Added is_connected_to method to oneshot::Sender (#2158)
    • Implement FusedStream for FuturesOrdered (#2205)
    • Fixed documentation links
    • Improved documentation
    • futures-test: Added track_closed method to AsyncWriteTestExt and SinkTestExt (#2159)
    • futures-test: Implemented more traits for InterleavePending (#2208)
    • futures-test: Implemented more traits for AssertUnmoved (#2208)

    0.3.5 - 2020-05-08

    NOTE: This release has been yanked. See #2310 for details.

    • Added StreamExt::flat_map.
    • Added StreamExt::ready_chunks.
    • Added *_unpin methods to SinkExt.
    • Added a cancellation() future to oneshot::Sender.
    • Added reunite method to ReadHalf and WriteHalf.
    • Added Extend implementations for Futures(Un)Ordered and SelectAll.
    • Added support for reexporting the join! and select! macros.
    • Added no_std support for the pending! and poll! macros.
    • Added Send and Sync support for AssertUnmoved.
    • Fixed a bug where Shared wasn't relinquishing control to the executor.
    • Removed the Send bound on the output of RemoteHandle.
    • Relaxed bounds on FuturesUnordered.
    • Reorganized internal tests to work under different --features.
    • Reorganized the bounds on StreamExt::forward.
    • Removed and replaced a large amount of internal unsafe.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-17 01:00
  • 14. Bump net2 from 0.2.34 to 0.2.37

    Bumps net2 from 0.2.34 to 0.2.37.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-15 00:03
  • 15. Bump miow from 0.2.1 to 0.2.2

    Bumps miow from 0.2.1 to 0.2.2.

    Commits
    • 6fd7b9c Bump version to 0.2.2
    • 550efc2 Merge branch 'fix-sockaddr-convertion-v0.2.x' into 0.2.x
    • ca8db53 Stop using from_ne_bytes to be compatible with Rust < 1.32.0
    • 3e217e3 Bump net2 dep to 0.2.36 without invalid SocketAddr convertion
    • 27b77cc Adapt to winapi 0.2
    • 2783715 Safely convert SocketAddr into raw SOCKADDR
    • f6662ef Clarify wording of license information in README.
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-08 21:03
  • 16. Bump image from 0.22.5 to 0.23.12

    Bumps image from 0.22.5 to 0.23.12.

    Changelog

    Sourced from image's changelog.

    Version 0.23.12

    • Fix a soundness issue affecting the impls of Pixel::from_slice_mut. This would previously reborrow the mutable input reference as a shared one but then proceed to construct the mutable result reference from it. While UB according to Rust's memory model, we're fairly certain that no miscompilation can happen with the LLVM codegen in practice. See 5cbe1e6767d11aff3f14c7ad69a06b04e8d583c7 for more details.

    • Fix imageops::blur panicking when sigma = 0.0. It now defaults to 1.0 as all negative values.

    • Fix re-exporting png::{CompressionType, FilterType} to maintain SemVer compatibility with the 0.23 releases.

    • Add ImageFormat::from_extension

    • Add copyless DynamicImage to byte slice/vec conversion.

    • Add bit-depth specific into_ and to_ DynamicImage conversion methods.

    Version 0.23.11

    • The NeuQuant implementation is now supplied by color_quant. Use of the type defined by this library is discouraged.
    • The jpeg decoder can now downscale images that are decoded by 1,2,4,8.
    • Optimized the jpeg encoding ~5-15%.
    • Deprecated the clamp function. Use num-traits instead.
    • The ICO decoder now accepts an empty mask.
    • Fixed an overflow in ICO mask decoding potentially leading to panic.
    • Added ImageOutputFormat for AVIF
    • Updated tiff to 0.6 with lzw performance improvements.

    Version 0.23.10

    • Added AVIF encoding capabilities using the ravif crate. Please note that the feature targets the latest stable compiler and is not enabled by default.
    • Added ImageBuffer::as_raw to inspect the underlying container.
    • Updated gif to 0.11 with large performance improvements.

    Version 0.23.9

    • Introduced correctly capitalized aliases for some scream case types
    • Introduced imageops::{vertical_gradient, horizontal_gradient} for writing simple color gradients into an image.
    • Sped up methods iterating over Pixels, PixelsMut, etc. by using exact chunks internally. This should auto-vectorize ImageBuffer::from_pixel.
    • Adjusted Clone impls of iterators to not require a bound on the pixel.
    • Add Debug impls for iterators where the pixel's channel implements it.
    • Add comparison impls for FilterType

    Version 0.23.8

    ... (truncated)

    Commits
    • 07b0b85 Update release notes and meta data for 0.23.12
    • b99a2a9 Merge pull request #1368 from fintelia/bug-1365
    • 28ac73e Merge pull request #1362 from Mike-Neto/master
    • 229a687 Fix bug 1365
    • cd4c57a Fixes #983. blur 0.0 panic
    • 085300e Merge pull request #1361 from a1phyr/format_from_extension
    • b6507cf Add examples
    • 3843286 Make ImageFormat::from_extension take an &OsStr
    • fa37687 Add ImageFormat::from_extension
    • e0261ce Merge pull request #1358 from HeroicKatora/fix-mutability-provenance-of-pixels
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-06 20:30
  • 17. Bump socket2 from 0.3.12 to 0.3.19

    Bumps socket2 from 0.3.12 to 0.3.19.

    Changelog

    Sourced from socket2's changelog.

    0.4.5

    Changed

    Added

    Fixed

    0.4.4

    Fixed

    • Libc v0.2.114 fixed an issue where ip_mreqn where was not defined for Linux s390x.

    0.4.3 (yanked)

    Added

    0.4.2

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-06 19:58

Related

Rust based dbus notification store with a Rust/Flutter GUI frontend
Rust based dbus notification store with a Rust/Flutter GUI frontend

notifydb Rust based dbus notification store with a Rust/Flutter GUI frontend. Work in progress! Notes: While the majority of the functionality is ther

Mar 5, 2022
This plugin allows Flutter desktop apps to resizing and repositioning the window.

window_manager This plugin allows Flutter desktop apps to resizing and repositioning the window. window_manager Platform Support Quick Start Installat

Aug 15, 2022
This plugin allows Flutter desktop apps to register and handle custom protocols

protocol_handler This plugin allows Flutter desktop apps to register and handle custom protocols (i.e. deep linking). English | įŽ€äŊ“中文 protocol_handler

Jul 7, 2022
This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).

hotkey_manager This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut). hotkey_manager Platform Support Quick Star

Aug 9, 2022
This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc.

screen_retriever This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc. screen_retriever P

May 5, 2022
This plugin allows Flutter desktop apps to extract text from screen.

screen_text_extractor This plugin allows Flutter desktop apps to extract text from screen. screen_text_extractor Platform Support Quick Start Installa

Aug 5, 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

Aug 15, 2022
Build Win32 apps with Dart!
Build Win32 apps with Dart!

A package that wraps some of the most common Win32 API calls using FFI to make them accessible to Dart code without requiring a C compiler or the Wind

Aug 15, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.

bitsdojo_window A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux. Watch the

Aug 15, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.
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

Aug 1, 2022
A platform adaptive Flutter app for desktop, mobile and web.
A platform adaptive Flutter app for desktop, mobile and web.

Flutter Folio A demo app showcasing how Flutter can deliver a great multi-platform experience, targeting iOS, Android, MacOS, Windows, Linux, and web.

Aug 17, 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 and windows

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

Jul 20, 2022
Ubuntu Yaru Style - Distinct look and feel of the Ubuntu Desktop
Ubuntu Yaru Style - Distinct look and feel of the Ubuntu Desktop

Ubuntu Yaru Style - Distinct look and feel of the Ubuntu Desktop Using Yaru To be able to use this package follow this steps: Installation Make you su

Aug 8, 2022
An open source desktop application for creating set-plans for TV and movie productions

lyghts_desktop An open source (Windows) desktop application for creating set-plans for TV and movie productions. Getting Started This application uses

Feb 15, 2022
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

Aug 15, 2022
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.
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.

Aug 14, 2022
Pangolin Desktop UI shell, designed for dahliaOS, written in Flutter.
Pangolin Desktop UI shell, designed for dahliaOS, written in Flutter.

Website ● Discord ● Releases ● Donate ● Documentation Pangolin Desktop UI Pangolin UI is a Desktop shell for dahliaOS, written in Flutter, runs on Lin

Aug 11, 2022
Unofficial Ubuntu Desktop Settings App made with Flutter
 Unofficial Ubuntu Desktop Settings App made with Flutter

Unofficial Ubuntu Desktop Settings App made with Flutter - WIP The goal of this project is to build a feature complete settings app for the Ubuntu des

Aug 8, 2022
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

Nov 7, 2021