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 |
---|---|
![]() |
![]() |
The app will be soon available as a snap.
The following steps are needed to run the app from the source code.
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
Run the app with vscode or with
flutter run
- 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
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