/libadwaita-flutter

Libadwaita's widgets for Flutter. Following Gnome HIG and available on all platforms.

Primary LanguageDartMozilla Public License 2.0MPL-2.0

Libadwaita ❤️ Flutter

CI GitHub Super-Linter

Pub.dev License Maintainer

Libadwaita's widgets for Flutter. Following Gnome HIG and available on all platforms.

libadwaita example screenshot

NOTE: For getting colors from gtk 3.0 theme use version <=0.9.8+1

Features

  • Various Libadwaita widgets ported to flutter
  • Some new widgets are also available, Check example for more info
  • Compatible with various packages

Usage

  • This only provides widgets, for theming you should consider adwaita or yaru package.
  • If you want custom titlebar then you can follow the steps for that on libadwaita_bitsdojo package.
  • Here is the list of widgets imported from libadwaita library : widgets.dart.

See the example app in the example folder for more info.

Relavant Links

Additional information

This package works great with

adwaita / yaru
For theming

Optional packages

For Adwaita Icons

Example:

import 'package:libadwaita_bitsdojo/libadwaita_bitsdojo.dart';

AdwHeaderBar(
  actions: AdwActions().bitsdojo,
//...
)

Example:

import 'package:libadwaita_searchbar/libadwaita_searchbar.dart';

bool searchedTerm = '';

AdwSearchBar(
  onSubmitted: (str) => setState(() => searchedTerm = str),
  controller: const TextEditingController(),
//...
)

Example:

import 'package:libadwaita_searchbar_ac/libadwaita_searchbar_ac.dart';

bool searchedTerm = '';

AdwSearchBarAc(
  suggestions: const ['Hi', 'Hello'],
  onSubmitted: (str) => setState(() => searchedTerm = str),
  controller: const TextEditingController(),
//...
)

Example:

import 'package:libadwaita_nativeshell/libadwaita_nativeshell.dart';

AdwHeaderBar(
  actions: AdwActions().nativeshell(context),
//...
)

Example:

import 'package:libadwaita_titlebar_buttons/libadwaita_titlebar_buttons.dart';

AdwHeaderBar(
  controls: AdwControls().titlebarButtons(),
//...
)

Classic API Docs

Contributors

Based on Insights ranking and the value of commits

  • @prateekmedia - Creator and Maintainer of this library
  • @simrat39 - Added various widgets and Improved example app
  • @MalcolmMielle - Worked on theming side of adwaita and created CI
  • @jesusrp98 - Added widgets like AdwButton, AdwAvatar and improved some widgets
  • @pablojimpas - Added very_good_analysis and Fixed some code

Support the development

To sustain the development of this library we need someone who can help this library either through code or by donating to it. Donation will help us to live up in the world of unmaintained open source packages and to dedicate more time in improving this to live up to the mark. We will also add the name of the contributors or the donaters in the README section.

To donate directly you can use below link, don't forget to leave a message there:

Buy Me A Coffee

License

Mozilla Public License 2.0

TLDR;

  • You are free to use this package in whatever app you want,
  • If you improve the package then you should submit your patches / improvements to this repository.