Unofficial Ubuntu Desktop Settings App made with Flutter

Last update: Aug 8, 2022

Unofficial Ubuntu Desktop Settings App made with Flutter - WIP

The goal of this project is to build a feature complete settings app for the Ubuntu desktop with the Flutter UI toolkit.

Packages that we already use or plan to use are:

TODO

  • use real yaru icons - thanks to @Jupi007
  • responsive layout
  • MVVM software architecture
  • search
  • WIFI page
  • Network page
  • Bluetooth page - WIP
  • Wallpaper page
  • Appearance page
  • Notifications page
  • Search page
  • Apps page
  • Security page
  • Online Accounts page
  • Sharing page
  • Sound page - WIP
  • Power page
  • Displays page
  • Mouse and touchpad page
  • Keyboard shortcuts page - WIP
  • Printers page - WIP
  • Removeable Media page
  • Color page
  • Region and language page
  • Accessability page
  • Users page
  • Preferred apps page
  • Date and time page
  • Wacom page
  • Info page

GitHub

https://github.com/Feichtmeier/settings
Comments
  • 1. [WIP] Adding Display Page (without Night Mode)

    Page 1

    page_1

    Page 2

    page_2

    Page 3

    page_3

    Page 4

    page_4

    Page on modify

    page_on_modify

    Work already in progress to tests and verify all is working on multiple screens + some documentation to make it complete

    Ref #58

    Reviewed by atsen-dev at 2022-03-07 12:25
  • 2. Add the WifiPage

    related to #20 . this pull request is a good starting point for the wifi page. the current features that the page has :

    • toggle wifi on-off
    • connect to access points listed in the UI
    • the page is totally reactive to the wifi adaptor state
    • shows error page when wifi adaptor isn't accessible

    Still a lot missing from the page but it is just the start.

    Reviewed by HosamHasanRamadan at 2021-10-30 20:15
  • 3. Info page

    Work in progress branch for the info page.

    • [x] Get OS infos
    • [x] Get CPU infos
    • [x] Get graphic infos (using https://github.com/LolzDEV/linux_system_info) ;
    • [x] Disk infos (using https://github.com/canonical/udisks.dart) ;
    • [x] Get 32/64 bit info ;
    • [x] Get gnome-shell infos ;
    • [x] Get wayland/X.org info ;
    • [x] Get hostname ;
    • [x] Make hostname editable.

    Capture d’écran du 2021-09-19 00-23-54

    Closes #24

    Reviewed by Jupi007 at 2021-08-03 17:29
  • 4. Issue#86 System details Export

    Added System Info Download Functionality

    Packages Added:

    • pdf
    • path_provider
    • open_file

    Assets Added:

    • pdfAssets/COF Logo

    After clicking on the System Data Outlined Button, a snackbar appears which has an action to open the PDF. Info Area PDF

    I am using Debian 11 as I am waiting for Ubuntu 21.10 to be released😅

    Closes #86

    Reviewed by Chandram-Dutta at 2021-10-06 10:31
  • 5. Improved search

    • move the search dialog atop of the left pane
    • remove the close button

    okokok

    @jpnurmi @mivoligo since you both were not 100% happy with the search dialog - what about this instead?

    Reviewed by Feichtmeier at 2021-09-17 21:51
  • 6. Update Keyboard Page

    WIP grafik grafik

    • [x] Consolidate the keyboard settings and the keyboard shortcuts page in a tabbed view
    • [x] use a model for each different section
    • [ ] add more keyboard shortcuts
    • [ ] grab the keyboard before recording shortcuts
    Reviewed by Feichtmeier at 2021-12-18 19:06
  • 7. Improve setting row with slider

    I think we need a way to reset the value set by a slider to the default value and show the current value.

    Here's my idea. Let me know what you guys think.

    Peek 2021-09-15 20-35

    Reviewed by mivoligo at 2021-09-15 19:40
  • 8. dock assets for other positions

    sorry for the delay, this PR adds assets for right and bottom dock and panel positions

    changes made:

    • [x] separated appearance and multitasking assets.
      • [x] Multitasking:

        • [x] active-screen-edges-dock-mode: -bottom, -left, -right
        • [x] active-screen-edges-panel-mode: -bottom, -left, -right
        • [x] hot-corner-dock-mode: -bottom, -left, -right
        • [x] hot-corner-panel-mode: -bottom, -left, -right
        • [x] workspaces-dock-mode: -bottom, -left, -right
        • [x] workspaces-panel-mode: -bottom, -left, -right
      • [x] Appearance:

        • [x] auto-hide-dock-mode: -bottom, -left, -right
        • [x] auto-hide-panel-mode: -bottom, -left, -right
        • [x] dock-mode: -bottom, -left, -right
        • [x] panel-mode: -bottom, -left, -right

    issue: #229

    Reviewed by Muqtxdir at 2022-01-08 14:25
  • 9. Check if schemas are installed?

    Should we check if certain schemas are installed? And if not disable the corresponding section? For example if one disables dash to dock Or the new multitasking page is only available in 22.04 daily so far Alternatively, since settings is still in early alpha, we could start to think about releases a bit more "smart" and make different releases for different distro versions

    CC @jpnurmi @Jupi007

    Reviewed by Feichtmeier at 2021-12-17 20:06
  • 10. Make system info exportable as PDF/PNG

    It would be cool if one could press on an export button in the info page to receive a PDF/PNG/Html export of his system specs

    grafik

    Idea comes from @madsrh somewhere in the chat

    Reviewed by Feichtmeier at 2021-09-23 10:08
  • 11. Missing feature: search settings page

    I know it's just a WIP placeholder, but the large Settings label should be replaced with a textfield / searchfield.

    image

    When the field isn't active, a grayed out Search label is visible.

    image

    As the user enters a query, matching results are displayed in the sidebar below (or as a dropdown)

    image

    Reviewed by madsrh at 2021-07-19 22:11
  • 12. clang: error: linker command failed with exit code 1

    I`m trying run the project and have this error, what i can do to resolve that ?

    flutter run -v:

    [   +1 ms] /usr/lib/x86_64-linux-gnu/libhandy-1.so: undefined reference to `g_atomic_ref_count_init'
    [        ] /usr/lib/x86_64-linux-gnu/libhandy-1.so: undefined reference to `g_atomic_ref_count_dec'
    [        ] /usr/lib/x86_64-linux-gnu/libhandy-1.so: undefined reference to `g_atomic_ref_count_inc'
    [        ] /usr/lib/x86_64-linux-gnu/libhandy-1.so: undefined reference to `[email protected]_2.29'
    [        ] /usr/lib/x86_64-linux-gnu/libhandy-1.so: undefined reference to
    `gtk_event_controller_key_new'
    [        ] /usr/lib/x86_64-linux-gnu/libhandy-1.so: undefined reference to `[email protected]_2.29'
    [        ] clang: error: linker command failed with exit code 1 (use -v to see invocation)
    [   +1 ms] ninja: build stopped: subcommand failed.
    [   +9 ms] Building Linux application... (completed in 4.0s)
    [+7256 ms] Exception: Build process failed
    [   +1 ms] "flutter run" took 11,868ms.
    [   +3 ms] 
               #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
               #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:687:9)
               <asynchronous suspension>
               #2      FlutterCommand.run.<anonymous closure>
               (package:flutter_tools/src/runner/flutter_command.dart:1161:27)
               <asynchronous suspension>
               #3      AppContext.run.<anonymous closure>
    (package:flutter_tools/src/base/context.dart:150:19)
               <asynchronous suspension>
               #4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
               <asynchronous suspension>
               #5      FlutterCommandRunner.runCommand.<anonymous closure>
               (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
               <asynchronous suspension>
               #6      AppContext.run.<anonymous closure>
    (package:flutter_tools/src/base/context.dart:150:19)
               <asynchronous suspension>
               #7      FlutterCommandRunner.runCommand
               (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
               <asynchronous suspension>
               #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
               <asynchronous suspension>
               #9      AppContext.run.<anonymous closure>
    (package:flutter_tools/src/base/context.dart:150:19)
               <asynchronous suspension>
               #10     main (package:flutter_tools/executable.dart:94:3)
               <asynchronous suspension>
               
               
    [ +108 ms] ensureAnalyticsSent: 106ms
    [        ] Running shutdown hooks
    [        ] Shutdown hooks complete
    [        ] exiting with code 1
    
    Reviewed by enzodanjour at 2022-04-02 01:09
  • 13. Not clear what units are used.

    In Privacy>House Keeping Screenshot from 2022-03-16 20-16-21

    I assume it's in days but maybe we can make it more obvious.

    Similar situation here: In Privacy > Screen Lock Screenshot from 2022-03-16 20-18-05

    There's also number of missing units in A11y page. They are mostly about delay times for clicking and such.

    Reviewed by mivoligo at 2022-03-16 20:26
  • 14. PrivacyPage: improve dialog animations

    Current:

    https://user-images.githubusercontent.com/15329494/154558670-6ef77e91-b768-4304-81a0-38769071f4f2.mp4

    Ideas:

    • shaking trash icon
    • @Jupi007 : maybe a kind of transition between the full trash icon and the empty one + shaking
    Reviewed by Feichtmeier at 2022-02-17 19:44
  • 15. WallpaperPage: too much memory allocated and only slightly freed

    It looks like the wallpaper page is not correctly "freeing up memory space" after closing it. Every time it is reloaded the memory grows by about 150 MB. It slowly shrinks but it is def. too slow.

    Any idea why this is happening @jpnurmi ? ya

    Reviewed by Feichtmeier at 2022-01-06 10:08

Related

Ubuntu-flutter-plugins - A collection of Flutter plugins and packages for Ubuntu applications.

Flutter plugins for Ubuntu A collection of Flutter plugins and packages for Ubuntu applications. ubuntu_localizations - provides localizations for Flu

Jun 18, 2022
Ubuntu Desktop Installer

Ubuntu Desktop Installer This project is a modern implementation of the Ubuntu Desktop installer, using subiquity as a backend and Flutter for the UI.

Aug 14, 2022
Manage Subiquity for Ubuntu Desktop Installer

Manage Subiquity for Ubuntu Desktop Installer

Mar 3, 2022
A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme
A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

Building a Yaru app with Flutter Summary URL https://github.com/ubuntu/user_manager Category Environment Linux Status Feedback Link Author Frederik Fe

Aug 8, 2022
Ubuntu Software Store
Ubuntu Software Store

Unofficial Ubuntu Store Flutter - WIP An alternative software store for the Ubuntu Desktop made with Flutter. First goals Great UX Adaptive Layout Sna

Jul 19, 2022
Trident - The magic kernel manager for elementary os and ubuntu based distros.

trident The magic kernel manager for elementary os and ubuntu based distros. testing Make a cache directory for trident in /var/cache/ sudo mkdir /var

Apr 5, 2022
A graphical application to enhance user experience with Ubuntu on WSL during the distro installation process.
A graphical application to enhance user experience with Ubuntu on WSL during the distro installation process.

Ubuntu WSL Splash A graphical application to enhance user experience with Ubuntu on WSL during the distro installation process. Made with: Getting Sta

Jul 26, 2022
Simple file explorer for desktop made with Flutter, highly inspired by macOS Finder

file_explorer A basic file explorer made with Flutter Getting Started This project is a starting point for a Flutter application. A few resources to g

Nov 7, 2021
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.

bitsdojo_window A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux. Watch the

Aug 5, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

Aug 1, 2022
A platform adaptive Flutter app for desktop, mobile and web.
A platform adaptive Flutter app for desktop, mobile and web.

Flutter Folio A demo app showcasing how Flutter can deliver a great multi-platform experience, targeting iOS, Android, MacOS, Windows, Linux, and web.

Aug 5, 2022
Create Desktop app with Flutter
Create Desktop app with Flutter

Flutter Desktop Codelab Slides Créer votre première appli Desktop avec Flutter App Design Dribble YoPro Setup Linux MacOs Windows Generate executable

Nov 26, 2021
Android-Toolbox is a desktop app which enables the user to access android device features which are not accessible directly from the mobile device
Android-Toolbox is a desktop app which enables the user to access android device features which are not accessible directly from the mobile device

Android-Toolbox is a desktop app which enables the user to access android device features which are not accessible directly from the mobile device. One of Android-Toolbox's special feature is to transfer files at the highest speed using ADB push and pull bypassing a lot of Android API overheads.

Jul 28, 2022
Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size.

desktop_window Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size. Usage import 'package:desktop_window/desktop_window.dart

Jul 11, 2022
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Aug 4, 2022
This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).

hotkey_manager This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut). hotkey_manager Platform Support Quick Star

Aug 9, 2022
This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc.

screen_retriever This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc. screen_retriever P

May 5, 2022
This plugin allows Flutter desktop apps to extract text from screen.

screen_text_extractor This plugin allows Flutter desktop apps to extract text from screen. screen_text_extractor Platform Support Quick Start Installa

Aug 5, 2022
This plugin allows Flutter desktop apps to defines system tray.

tray_manager This plugin allows Flutter desktop apps to defines system tray. tray_manager Platform Support Quick Start Installation ⚠️ Linux requireme

Aug 6, 2022