Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 07:02
· 324 commits to main since this release

Two packages go out together: nativeapi and cnativeapi.

nativeapi

  • Breaking: requires Flutter 3.47 / Dart 3.13.
  • Add package:nativeapi/windowing.dart: controller.nativeWindow / nativeWindowOf()
    turn a window created with Flutter's experimental multi-window API into a nativeapi
    Window, so Flutter-rendered secondary windows can be styled, positioned and observed
    from Dart alone. It is a separate library because it imports Flutter's internal
    windowing libraries, whose names change between releases; it follows the stable channel.
    Stable has no flutter config --enable-windowing, so an app switches the API on itself
    with isWindowingEnabled = true before its binding starts. See
    floating_toolbar_example, browser_tabs_example and detachable_window_example.
  • Windows: a Window.backgroundColor with alpha now really makes the window see-through —
    the alpha was ignored before; the compositor draws the color. (macOS since 0.2.7.)
  • Linux: a Window.backgroundColor with alpha makes a Flutter window see-through there
    too (the Flutter view's black backing takes the color), and Window.setParentWindow
    now reaches a Wayland compositor when the child happens to be shown before its parent.
  • Linux: Window.titleBarStyle = hidden on a window that is not shown yet no longer
    leaves its content 52 px short in both directions on Wayland (it now hides GTK's own
    header bar instead of un-decorating the window).
  • Linux: Window.hasShadow = false works on windows with client-side decorations — every
    toplevel on Wayland, and windows with a header bar on X11. A window the window manager
    decorates keeps its shadow, and hasShadow keeps saying so. contentSize of a window
    created by this library is no longer measured with the shadow margin and the title bar
    included on Wayland.
  • Linux: building no longer asks for libayatana-appindicator3-dev (see cnativeapi).

cnativeapi

  • Breaking: requires Flutter 3.47 / Dart 3.13.
  • Android: the shared library is linked with 16 KB page alignment, so it loads on the
    Android 15 devices that use 16 KB memory pages.
  • Linux: building no longer asks for libayatana-appindicator3-dev. The tray icon has been a
    StatusNotifierItem over D-Bus for a while; only the plugin's CMake file still required
    and linked the library.
  • Update the embedded core: a translucent window background is see-through on Windows and
    Linux, native_window_set_has_shadow works on Linux, Linux hides GTK's header bar for
    titleBarStyle = hidden instead of un-decorating the window, and a Linux window's
    content size is measured without the shadow margin.

Full Changelog: v0.2.7...v0.3.0