Pangolin

Pangolin Desktop

Pangolin Desktop UI shell, designed for dahliaOS, written in Flutter. As of v200614.1, Pangolin has been available by default as the desktop in dahliaOS Linux-based builds. Try out the Pangolin web preview here (opens in a new tab). Code can be found on our GitHub (opens in a new tab).

History / significant changes

Please note that these are only the highlights from development, and not indicative of every commit. If you find something left out, please feel free to add it.

Components

Settings application and launcher


Pangolin Desktop, settings and start menu.

Quick settings assists in changing relevant system settings quickly (hence the name), offering an easier and more efficient method of changing settings than opening the app.

Applications and quick search


Pangolin Desktop, Calculator, Terminal, Notes and quick search.

A search bar is also available to sort through apps, find settings, and search the web.

Development

TL;DR for Linux

  • Set Flutter to master channel
flutter channel master
  • Upgrade to master channel
flutter upgrade
  • Enable Linux desktop
flutter config --enable-linux-desktop
  • Clone the repo
git clone https://github.com/dahliaos/pangolin_desktop
  • CD into dir
cd pangolin_desktop
  • Optional: Updates the embedder code
flutter create .
  • Run
flutter run -d linux

Developing Pangolin for dahliaOS Linux-Based builds

While pre-compiled builds can be found in the dahliaOS-overlays folder, you can also compile Pangolin and include them in the Buildroot toolchain. Pangolin can also be added as a dependency inside of Buildroot via the 'dahliaOS core applications' section under 'Target Packages'

Prerequisites

To develop for dahliaOS Linux-Based builds, you will need the Flutter tool, and a compiled base config from dahliaOS/Buildroot. Compiling the base config will take about 4 hours. Pangolin will automatically be installed using the x86_64 configuration, but arm64 builds will require a Raspberry Pi 4 with the Flutter tool installed to produce an arm64 Linux-compatible bundle.