Repository navigation
v0.3.0
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 noflutter config --enable-windowing, so an app switches the API on itself
withisWindowingEnabled = truebefore its binding starts. See
floating_toolbar_example,browser_tabs_exampleanddetachable_window_example. - Windows: a
Window.backgroundColorwith 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.backgroundColorwith alpha makes a Flutter window see-through there
too (the Flutter view's black backing takes the color), andWindow.setParentWindow
now reaches a Wayland compositor when the child happens to be shown before its parent. - Linux:
Window.titleBarStyle = hiddenon 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 = falseworks 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, andhasShadowkeeps saying so.contentSizeof 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_shadowworks on Linux, Linux hides GTK's header bar for
titleBarStyle = hiddeninstead 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