Skip to content

ubuntu-flutter-community/settings

Repository files navigation

Settings App for the Ubuntu Desktop

The goal of this project is to build a feature complete settings app for the Ubuntu desktop (GNOME, gtk and gnome-shell) with the Flutter UI toolkit.

Light Dark

Mentionable packages that we use and want to thank are:

Alpha Releases / Download

Currently the app is in a very raw alpha state and pages are still missing. However if you want you can download, extract and then run alpha releases from the releases page.

Building

The following steps are needed to run the app from the source code.

Install Flutter

Either with

sudo snap install flutter --classic

Or with

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

TODO

  • use real yaru icons - thanks to @Jupi007
  • responsive layout
  • MVVM software pattern - thanks to @jpnurmi
  • search
  • WIFI page - WIP
  • Ethernet page
  • Cellular Network page
  • Bluetooth page - WIP
  • Wallpaper page
  • Appearance page
  • Multi-Tasking page
  • Notifications page
  • Search page
  • Apps page (forward to snap-store)
  • Privacy/Security page - WIP
  • Online Accounts page
  • Sound page - WIP
  • Power page
  • Displays page - WIP
  • Mouse and touchpad page
  • Keyboard shortcuts page - WIP
  • Printers page - WIP
  • Removable Media page
  • Color page
  • Region and language page
  • Accessability page
  • Users page
  • Preferred apps page
  • Date and time page
  • Wacom page
  • Info page

Contributing

This project really needs help to finish the last pages and also in the future when the GNOME desktop changes. Any help is welcome!

However for new contributors please follow those rules:

  • do not over complicate things
  • stick to the service, viewmodel, view approach
  • as long as we stick to the provider package try to avoid context.watch as much as possible and always prefer context.select
  • as long as we stick to the provider package try to avoid provider calls as much as possible and prefer to forward callbacks and values where you can
  • do not split files with the part keyword
  • do not shadow function definitions with typedef
  • use absolute imports

About

🐧 🧡 💙 An Ubuntu Desktop system settings app made with Flutter.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 19

Languages