yaru 7.0.0 copy "yaru: ^7.0.0" to clipboard
yaru: ^7.0.0 copied to clipboard

PlatformLinux

Common flutter widgets useful for building desktop and web applications.

The official Flutter Yaru Theme and Widgets Suite #

Pub Package

This repository and package contains:

  • flutter widgets useful for building desktop and web applications, following but also expanding the yaru theme for the gnome desktop in Ubuntu 22.04+.
  • a theme for widgets from material.dart and from this repository
  • a complete icon set for flutter apps following the yaru design language

LIVE DEMO IN YOUR BROWSER

screenshot screenshot screenshot

Contributing #

  • for everything you need

    • flutter

      sudo apt -y install git curl cmake meson make clang libgtk-3-dev pkg-config && mkdir -p ~/development && cd ~/development && git clone https://github.com/flutter/flutter.git -b stable && echo 'export PATH="$PATH:$HOME/development/flutter/bin"' >> ~/.bashrc && source ~/.bashrc
      
      copied to clipboard
    • VsCode

      sudo snap install code --classic
      
      copied to clipboard
  • to work on the icons and then build the font, you need to install the icon_font_generator tool:

    dart pub global activate -sgit https://github.com/Jupi007/icon_font_generator.git --git-ref yaru
    
    copied to clipboard
  • Source SVGs files are located inside ./icons. The final icon name is determined by subfolder_name + icon_name (Ex: icons/mimetype/text-plain.svg will be named mimetype_text_plain).

  • After modifying or adding icons, you must run the build script, which will generate the icon font:

    ./build-icons.sh
    
    copied to clipboard

    or run

    yaru_icon_font_generator assets/icons assets/yaru_icons.otf --output-class-file=lib/src/yaru_icons.dart -r
    
    copied to clipboard

Contributing new gtk<->Flutter theme mappings #

  1. Add a new YaruVariant in variant.dart
  2. Add a new mapping into the resolveVariant method inside inherited_theme.dart

Copying or Reusing #

The theme and widgets are licensed under Mozilla Public License Version 2.0.

The icons have mixed licencing. You are free to copy, redistribute and/or modify aspects of this work under the terms of each licence accordingly (unless otherwise specified).

The icon assets (any and all source .svg files or rendered .ttf font) are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 License.

Included scripts are free software licensed under the terms of the GNU General Public License, version 3.

222
likes
140
points
5.71k
downloads

Publisher

verified publisherubuntu.com

Weekly Downloads

2024.09.06 - 2025.03.21

Common flutter widgets useful for building desktop and web applications.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MPL-2.0 (license)

Dependencies

animated_vector, animated_vector_annotations, assorted_layout_widgets, collection, dbus, flutter, gsettings, gtk, platform, platform_linux, yaru_window

More

Packages that depend on yaru