Search packages, repositories and app categories

adwaita cover
Package detailsv1.1.0

adwaita

Adwaita style - The default theme for GTK+ for your Flutter app.

30-day downloads
319
Likes
20
Pub points
70

Install package

flutter pub add adwaita

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Adwaita is a Flutter package that brings the default GTK+ theme to Flutter applications, offering a native look and feel for Linux users. Inspired by GNOME's Adwaita design language, it provides consistent typography, color schemes, and widget styling aligned with modern desktop aesthetics. The package integrates seamlessly into Flutter projects, enabling developers to create apps that blend naturally with GTK-based environments. It supports customization while maintaining adherence to the original theme’s principles.

Use cases

  • Creating Linux-native Flutter apps
  • Designing desktop applications with GTK consistency
  • Enhancing UI aesthetics for GNOME users
  • Building cross-platform apps with platform-specific themes
  • Developing accessible and visually cohesive interfaces

Key features

  • GTK+ Adwaita design integration
  • Linux desktop theme optimization
  • Customizable color and typography
  • Consistent widget styling
  • Accessibility-focused design

Suitable for

  • Linux app developers
  • Desktop-first Flutter projects
  • GNOME environment users
  • Design system implementers
  • Open-source contributors

Considerations

  • Limited platform support beyond Linux
  • Requires manual theme configuration
  • May not align with non-GTK desktops
  • Dependent on upstream GTK design updates
  • Potential performance overhead in complex UIs

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Adwaita Theme

CI GitHub Super-Linter

Implementation of the adwaita color scheme found in libadwaita.

Inspired by the yaru theme for flutter.

Usage

import 'package:flutter/material.dart';
import 'package:adwaita/adwaita.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  final ValueNotifier<ThemeMode> themeNotifier = ValueNotifier(ThemeMode.light);

  MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ValueListenableBuilder<ThemeMode>(
        valueListenable: themeNotifier,
        builder: (_, ThemeMode currentMode, __) {
          return MaterialApp(
              theme: AdwaitaThemeData.light(),
              darkTheme: AdwaitaThemeData.dark(),
              debugShowCheckedModeBanner: false,
              home: MyHomePage(themeNotifier: themeNotifier),
              themeMode: currentMode);
        });
  }
}

Examples

light_theme

dark_theme

Categories

Source repository

Projects using this package