Hello everyone ,
@mivoligo, @jupiter007, @madsrh and me started a small flutter project in the past weeks.
We wanted to see what we can do with flutter on the ubuntu desktop.
We’ve managed with the help of existing flutter/dart packages for gsettings.dart, bluez.dart, nm.dart, yaru.dart and yaru_icons.dart to create a skeleton of an Ubuntu settings app:
Some pages are already fully functional, most of the pages only exist as an issue on the GitHub repository.
We’ve isolated common patterns that make sense on an desktop operating system as widgets in our app. Our inspiration for design are the unity8 settings app, windows11 and ofc gnome control center, because most of the settings are bound to gsettings in the gnome desktop.
One may ask why we do this. I can only speak for myself here and I want to explore the power of flutter while enjoying the ease of coding with flutter, dart and vscode and enjoying the rich ecosystem of packages available on pub.dev and the AAA-documentation on flutter.dev.
We would appreciate if more people would find their way onto our repository to help out with either ideas, bug reports or flutter/dart code contributions (this would currently help the most, because there are so many pages to implement).
That looks really cool. I’d say it’s better than the standard GNOME settings. I like it
Hi ! As a matter of fact, I’ve just started to learn flutter. I’ll have a look at the repo and see what I can help with !
Well, I’ve made the first steps : forked and cloned the repo, opened VSCode, hit F5, and it runs just fine ! Now, let’s get to work !
Do you guys have anything in particular you’d like to see move forward ?
Thanks for cloning!
Any of the pages (issues) not assigned to anyone are free to grab. Feel free to work on any of those for the most things you will need gsettings.dart but sometimes either a custom solution is needed or in the case of WiFi the nm.dart
What about internationalization ? I see the app is in english, I may look into Flutter internationalization. Those things are better put in place early, otherwise it’s gonna be a mess !
Totally. We might have a look on https://github.com/canonical/ubuntu-desktop-installer and how they did it
Indeed. They seem to use the standard
arb method. I’ll put that in place for settings.
Hello, I’m hyped to be part of this ! Do we have a roadmap ?
Thanks for your interest!
The first roadmap currently is to provide a settings app for the ubuntu gnome desktop without losing any but rather gain features (like using more dock gsettings and so on).
You can look at the in the github project https://github.com/Feichtmeier/settings/projects/1
or the issues
All missing pages are filed in issues which you can assign to you or ask for assignment
Looks good so far. I do think that the top part is really wasteful and dated looking with the huge blank titlebar, and the big bar below that is not interactive space. I really wish CSDs were implemented (and not even depend on GTK) from this bug, or you could use the 3rd party bitsdojo package, look at an example from this photo project to replicate GNOME’s adwaita for flutter applications. That seems kind of like a hacky solution though for something as high profile as the settings app though.
Also: so sorry, but that is not the way to build a distinct Ubuntu visual identity. The Flutter applications just use the Material Design widgets with Yaru colors. The mismash looks really bad and amateurish.
I respectfully disagree, I think the Yaru theme and the Material Design stuff mix very well. I wasn’t able to involve myself as much as I wanted in this but hopefully that will change in the coming weeks.
That looks really good, and it really makes me want these options!
Can I ask you WHY? What’s wrong with GNOME settings? I get that you want to do something in Flutter, but… is this useful?
Nothing is wrong with GNOME settings. It’s fun building flutter desktop apps and it’s great to implement design ideas from yaru with flutter. Development is a breeze.
I tested it on Ubuntu 21.10 and found it really cool.
I was only able to run the app on X11. On Wayland, the app just displayed an empty screen. The rest of things worked fine.
It would be even better if the app used Gnome-like widgets.
Thanks for testing.
I’m using Wayland since a while and didn’t encounter this problem. If you use the flutter snap, try to refresh it from edge. I think there was a patch for 21.10 graphic stack recently.
Alternatively I should start to upload the binary for people to test soon, thanks for the idea
It’d be cool to see this adopted on other GTK-based Ubuntu desktops, like Unity, MATE, etc.
Created a first alpha release with many missing pages.
You can download it here, extract the zip and click on “settings” inside the extracted archive