Unofficial Ubuntu Desktop Settings App made with Flutter

Overview

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
Comments
  • [WIP] Adding Display Page (without Night Mode)

    [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

    opened by atsen-dev 43
  • Add the WifiPage

    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.

    opened by HosamHasanRamadan 40
  • Info page

    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

    opened by Jupi007 31
  • Issue#86 System details Export

    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

    opened by Chandram-Dutta 17
  • Improved search

    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?

    opened by Feichtmeier 15
  • Update Keyboard Page

    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
    opened by Feichtmeier 13
  • Improve setting row with slider

    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

    feature / enhancement 
    opened by mivoligo 12
  • dock assets for other positions

    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

    opened by Muqtxdir 11
  • Check if schemas are installed?

    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

    feature / enhancement 
    opened by Feichtmeier 11
  • Make system info exportable as PDF/PNG

    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

    feature / enhancement 
    opened by Feichtmeier 11
  • Missing feature: search settings page

    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

    feature / enhancement 
    opened by madsrh 10
  • search: index error with yaru widgets beta 3

    search: index error with yaru widgets beta 3

    grafik

    @jpnurmi this search approach changes the amount of pages depending on the search. Is this maybe not possible anymore with the new yaru widgets version?

    opened by Feichtmeier 0
  • Use gtk_window to replace native headerBar

    Use gtk_window to replace native headerBar

    Before | After :-------------------------:|:-------------------------: Screenshot from 2022-12-11 23-24-42 | Screenshot from 2022-12-11 23-17-16 Screenshot from 2022-12-11 23-20-26|Screenshot from 2022-12-11 23-17-08 Screenshot from 2022-12-11 23-20-33 |Screenshot from 2022-12-11 23-17-02

    gtk_appbar is a flutter "fake" appbar that works as a drop in replacement for the Material AppBar. It will allow us to add flutter widgets like these examples from the official app. Screenshot from 2022-12-11 23-35-02 Screenshot from 2022-12-11 23-34-30 It just feels right to have full control over the headerbar of your linux app and it allows you adopt styles like gtk4 without waiting for google to implement them.

    opened by YoussefLasheen 6
  • Wallpaper page: add dark mode support

    Wallpaper page: add dark mode support

    In the current state, the wallpaper is defined for both dark/light theme. GS supports to have different wallpaper depending on the theme, and it would be nice to add this feature here.

    CC @YoussefLasheen if you want to grab it :)

    feature / enhancement 
    opened by Jupi007 0
  • Reduce gnome dependency of pages and mark pages for specific DEs

    Reduce gnome dependency of pages and mark pages for specific DEs

    If this app should go any further in terms of "Multi-Desktop" app, we need to mark pages as desktop specific and only insert them if it works on that desktop environment The best would be if everything would be dbus based ofc and we use the correct keys for those distros. For example mate has different dbus interfaces often etc. But I think this would be too complicated. So I would prefer the marking approach. As long as Ubuntu stays gnome based, I do not see a reason to move away from gsettings.dart

    CC @wimpysworld

    feature / enhancement 
    opened by Feichtmeier 0
Releases(v0.0.8-alpha)
  • v0.0.8-alpha(May 19, 2022)

    What's Changed

    • Wallpaper: show add button when customdir is empty by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/298
    • Fix empty gpu error by @Jupi007 in https://github.com/ubuntu-flutter-community/settings/pull/299
    • [WIP] Adding Display Page (without Night Mode) by @atsen-dev in https://github.com/ubuntu-flutter-community/settings/pull/295
    • Add icons to power profile section by @Jupi007 in https://github.com/ubuntu-flutter-community/settings/pull/301
    • BluetoothDeviceModel: fix warning from #295 plus.. by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/302
    • Adding a dispose into services to close/dispose all resources by @atsen-dev in https://github.com/ubuntu-flutter-community/settings/pull/303
    • Accessibility : No more text without translation by @atsen-dev in https://github.com/ubuntu-flutter-community/settings/pull/304
    • BluetoothPage Regression: do not dispose in view by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/305
    • Privacy by @mivoligo in https://github.com/ubuntu-flutter-community/settings/pull/307
    • WallpaperPage: Use native filepicker by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/311
    • Utils refactoring by @mivoligo in https://github.com/ubuntu-flutter-community/settings/pull/312
    • Themes: link flutter and gtk themes by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/313
    • Themes: Add new yaru themes by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/314
    • ThemeSection: hide themes if osversion < 22 by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/315
    • Fix for settings using unsigned integer values by @mivoligo in https://github.com/ubuntu-flutter-community/settings/pull/316
    • Use handy_window instead of libhandy-1-dev by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/319
    • Bluetooth improvments by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/320
    • Dark_wallpaper by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/321
    • Theme: fix darkmode, use yaru widgets color disk by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/322
    • Fix typo in settings_service.dart by @mivoligo in https://github.com/ubuntu-flutter-community/settings/pull/323
    • WIP: Adapt to yaru.dart changes by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/324
    • InfoPage: move pdf_api into pdf_service by @Feichtmeier in https://github.com/ubuntu-flutter-community/settings/pull/325
    • Use YaruCircularProgressIndicator by @Jupi007 in https://github.com/ubuntu-flutter-community/settings/pull/326

    Full Changelog: https://github.com/ubuntu-flutter-community/settings/compare/v0.0.7-alpha...v0.0.8-alpha

    Source code(tar.gz)
    Source code(zip)
    settings_v0.0.8-alpha.zip(15.76 MB)
  • v0.0.7-alpha(Mar 2, 2022)

    What's Changed

    DateTimePage is now in. Apart from this...

    • Wallpaper page more providers by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/274
    • WallpaperPage: extract widgets from build method by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/275
    • PrivatePage: styling and localization by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/276
    • Localize page titles by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/277
    • Connections and Wallpaper: increase radii by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/279
    • FIx several warnings by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/280
    • Bluetooth: improve UI and fix issues by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/282
    • Canonical with a capital C by @madsrh in https://github.com/Feichtmeier/settings/pull/283
    • Added danish translations by @madsrh in https://github.com/Feichtmeier/settings/pull/286
    • More_bt_improvements by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/287
    • Add French missing messages by @Jupi007 in https://github.com/Feichtmeier/settings/pull/288
    • Improve_wallpaper_performance by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/290
    • WallpaperPage: add missing l10n strings by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/292
    • AppearancePage: correct app title for search by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/293
    • PrivacyPage: add clear recently used button by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/294

    New Contributors

    • @madsrh made their first contribution in https://github.com/Feichtmeier/settings/pull/283

    Full Changelog: https://github.com/Feichtmeier/settings/compare/v0.0.6-alpha...v0.0.7-alpha

    Bildschirmfoto von 2022-03-02 05-32-09

    Source code(tar.gz)
    Source code(zip)
    settings_v0.0.7-alpha.zip(31.94 MB)
  • v0.0.6-alpha(Feb 18, 2022)

    What's Changed

    • Rework appearance model by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/241
    • Re-add riv asset dir to pubspec by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/244
    • Use updated yaru_widgets to fix tabbed views by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/245
    • unify how we get model references from providers by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/246
    • AppearancePage: rename model to DockModel by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/247
    • Crosshairs color in zoom settings by @mivoligo in https://github.com/Feichtmeier/settings/pull/250
    • Color assets in app theme by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/248
    • Don't use YaruSliderSecondary widget by @mivoligo in https://github.com/Feichtmeier/settings/pull/251
    • push a more updated pubspec.lock to make YaruColorPickerButton work by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/253
    • Don't allow selecting both scrolling types at the same time by @mivoligo in https://github.com/Feichtmeier/settings/pull/252
    • Brightness sliders by @mivoligo in https://github.com/Feichtmeier/settings/pull/254
    • Use updated yaru_widgets.dart by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/257
    • Use width in YaruSimpleDialog by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/258
    • InfoPage: make the COF look the same in light/dark by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/259
    • Bump versions of flutter_spinbox and rive + .lock by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/260
    • Power: Add lid close section and model by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/261
    • WallpaperPage: adapt to YaruSelectableContainer by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/263
    • adding translations and applying them by @atsen-dev in https://github.com/Feichtmeier/settings/pull/264
    • BluetoothPage: dialog improvements by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/265
    • Use updated yaru_widgets by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/267
    • RemovableMedia: do not use yaru section by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/268
    • SecurityPage: add security pages by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/269
    • PrivacyPanel: add kDefaultWidth and enabled flags by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/271
    • Update readme by @Feichtmeier in https://github.com/Feichtmeier/settings/pull/273

    New Contributors

    • @atsen-dev made their first contribution in https://github.com/Feichtmeier/settings/pull/264

    Full Changelog: https://github.com/Feichtmeier/settings/compare/v0.0.5-alpha...v0.0.6-alpha

    settings

    Source code(tar.gz)
    Source code(zip)
    settings_v0.0.6-alpha.zip(31.79 MB)
  • v0.0.5-alpha(Jan 9, 2022)

    Change log combined with thanks:

    • Thanks to @Muqtxdir for the many assets depending on the dock position and height
    • Thanks to @YoussefLasheen for adding the BingWallpaper feature in the wallpaper page
    • Thanks to @mivoligo for introducing the null checking and disabling/enabling the UI depending on the result
    • Thanks to @Jupi007 for improvements to the powerpage and the linear progress indicator styling
    • Thanks to @jpnurmi for general consulting
    • updated the appearance page to use assets but do not to waste too much space thanks to a new selectable svg image widget
    • the keyboard page is re-redesigned and now includes a YaruTabbedPage for settings and shortcuts and enables users to change their keyboard input

    appearance_panel multitasking_page power_panel

    Source code(tar.gz)
    Source code(zip)
    settings_v0.0.5.-alpha.zip(31.49 MB)
  • v0.0.4-alpha(Dec 18, 2021)

  • v0.0.3-alpha(Dec 14, 2021)

    • settings now uses a re-written gsettings.dart ! Thanks again to @jpnurmi
    • thus and thanks to a big update in settnings by @jpnurmi all changes applied on other apps like gnome control center or gnome shell are correctly received and displayed inside the app even if the change has not been activated inside the app
    • the gsetting change also fixed an issue with the release needing shared libraries from libgtk-3-dev to be installed on the system

    Exporting the archive and clicking the settings binary should open the app!

    grafik

    Source code(tar.gz)
    Source code(zip)
    settings_v0.0.3-alpha.zip(30.10 MB)
  • v0.0.2-alpha(Dec 8, 2021)

  • v0.0.1-alpha(Nov 14, 2021)

    This is the first release of a partially complete app. Only for testing purposes.

    The following features and pages are currently partially functional:

    • [X] use real yaru icons
    • [X] responsive layout
    • [X] MVVM software architecture
    • [X] search
    • [X] WIFI page
    • [X] Wallpaper page
    • [X] Appearance page
    • [X] Notifications page
    • [X] Power page
    • [X] Mouse and touchpad page
    • [X] Removeable Media page
    • [X] Accessability page
    • [X] Info page

    grafik grafik

    Source code(tar.gz)
    Source code(zip)
    settings_v0.0.1-alpha.zip(30.27 MB)
Owner
Frederik Feichtmeier
Software Engineer, (Hobby) Designer & Musician
Frederik Feichtmeier
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

Canonical 25 Oct 12, 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.

Canonical 388 Jan 7, 2023
Manage Subiquity for Ubuntu Desktop Installer

Manage Subiquity for Ubuntu Desktop Installer

J-P Nurmi 1 Mar 3, 2022
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

Ubuntu 22 Dec 21, 2022
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

Frederik Feichtmeier 288 Jan 3, 2023
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

Quinten Van Damme 4 Apr 5, 2022
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

Ubuntu 15 Dec 18, 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

Valentin 0 Nov 7, 2021
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

Bits Dojo 607 Jan 4, 2023
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

AnTler 140 Dec 30, 2022
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.

gskinner team 3.5k Jan 2, 2023
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

Flutter Togo 24 Nov 18, 2022
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.

Sashank Visweshwaran 30 Dec 26, 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

ChunKoo Park 72 Dec 2, 2022
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.

Miguel Ruivo 987 Jan 6, 2023
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

LeanFlutter 81 Dec 21, 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

LeanFlutter 27 Dec 6, 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

LeanFlutter 30 Dec 21, 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

LeanFlutter 122 Dec 22, 2022