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
- February 27, 2019, @Camden Bruce (opens in a new tab) announced the beginning of dahliaOS (Source: Reddit (opens in a new tab)).
- March 2, 2019, @Camden Bruce (opens in a new tab) created the repository pangolin-desktop.
- March 4, 2019, @Noah Cain (opens in a new tab) uploaded the first basic code for the desktop in a (now deprecated) custom codebase.
- April 5, 2019, @Horus125 (opens in a new tab) began importing some components from Capybara for use within Pangolin.
- May 11, 2019, a basic calculator application was added to the system.
- May 17, 2019, a text editor called "Petal" was merged into Pangolin.
- June 30, 2019, the launcher was given an updated look featuring cards, was not yet functional.
- May 26, 2020, app icons were finally added to the launcher, they were not yet functional.
- May 31, 2020, @kanouharu (opens in a new tab) implemented a basic app launching ability to the panel icons.
- June 6, 2020, a basic task manager was implemented.
- June 12, 2020, @SincerelyFaust (opens in a new tab) migrated the codebase to Apache-2.0 rather than the GPLv3, the beginning of dahliaOS' transition to Apache.
- June 20, 2020, @larsb24 (opens in a new tab) made significant changes to the backend as well as improving the quicksettings.
- June 22, 2020, @Blake Leonard (opens in a new tab) added support for automatic building.
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.
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.
TL;DR for Linux
- Set Flutter to master channel
flutter channel master
- Upgrade to master channel
- Enable Linux desktop
flutter config --enable-linux-desktop
- Clone the repo
git clone https://github.com/dahliaos/pangolin_desktop
- CD into dir
- Optional: Updates the embedder code
flutter create .
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'
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.