Pangolin Desktop UI shell, designed for dahliaOS, written in Flutter.

Overview

WebsiteDiscordReleasesDonateDocumentation

Pangolin Desktop UI Tweet

Build and Deploy to Web Locale Generator Website Crowdin GitHub

  • Pangolin UI is a Desktop shell for dahliaOS, written in Flutter, runs on Linux and Zircon
  • Pangolin was named after a shelled animal like the Armadillo UI
  • Pangolin Desktop is based on the deprecated Capybara shell, with a custom window management system built from the ground up
  • You can check it online here!

Pangolin Desktop calculator app and quick-settings menu.

Pangolin Desktop app launcher screen.

Build Pangolin Desktop

If you're interested in building Pangolin, you can refer to Building and Running Pangolin

Contribute

If you're wondering how to contribute to the project, please refer to CONTRIBUTING.md

Translate

If you're interested in translating Pangolin, click here for more information on how to do so!

License

Copyright @ 2019-2022 - The dahliaOS Authors - [email protected]

This project is licensed under the Apache 2.0 license

Comments
  • supportsWeb property on Apps

    supportsWeb property on Apps

    Description

    Some apps aren't available on the web, such as the Terminal and Files Manager. This PR adds a property that enable apps to tell if they can run on the web or not. If not, they won't show up

    Depends on https://github.com/dahliaOS/backend/pull/5 to be landed first

    Type of change

    Please tick the relevant option by putting an X inside the bracket

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist:

    • [x] My code follows the guidelines of this project
    • [x] I have performed a self-review of my own code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] All current GitHub actions pass
    • [ ] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings
    • [x] I have read the CONTRIBUTING document
    opened by bdlukaa 10
  • adds Easy_locale as main locale/translation manager

    adds Easy_locale as main locale/translation manager

    • Adds: xml, easy_locale as dependences

    • Replace locale delegates for delegates provided by easy_locale pkg

    • [x] New feature (non-breaking change which adds functionality)

    • [x] This change requires a documentation update

    How was this tested?

    Test Configuration:

    • dahliaOS Build number: 201004
    • Hardware:
    • VM:

    Checklist:

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have checked my code and corrected any misspellings
    enhancement 
    opened by allansrc 9
  • Improved Quicksettings Look and Feel

    Improved Quicksettings Look and Feel

    Hi, I tried to improve the look and feel of the quicksettings.

    I added a bit padding on the sides, increased the border radius, height and grid size and added bouncing physics. I also moved the featureNotImplemented dialog into its own function to recude unnecessary code. I changed the slider to two sliders, one for brightness and one for volume and made them slidable (but not actually working)

    And btw it looks like I changed much in main.dart but thats only because I auto formatted the code

    Preview: image

    opened by larsb24 8
  • Running on MAC and Windows

    Running on MAC and Windows

    Can someone let me know if this is useful.

    I was curious what the UX experience is to run it on a Desktop. Its actually very useful, because you can run it in full screen, and just use the apps and forget about the real desktop behind it.

    also its quick for working on the app because go-flutter has hot reload.

    I only had to make minor mods to the main.dart file and add a main_desktop.dart file and break out the "MyApp" class to a new file called mainapp.dart, and get the new main.dart and main_desktop.dart to call it.

    https://www.youtube.com/watch?v=epoNDPnGjU0&feature=youtu.be

    • its funny how the Text Editor gets a bit confused when i try to select text.

    Makefile:

    # https://github.com/dahlia-os/pangolin-desktop
    
    # The main dev
    # [email protected]
    
    # wow it works on Mobiles
    
    LIB_NAME=pangolin-desktop
    LIB=github.com/dahlia-os/$(LIB_NAME)
    LIB_BRANCH=master
    LIB_FSPATH=$(GOPATH)/src/$(LIB)
    
    print:
    	@echo $(LIB_NAME)
    	@echo $(LIB)
    	@echo $(LIB_BRANCH)
    	@echo $(LIB_FSPATH)
    
    dep:
    	# git clone
    	mkdir -p $(LIB_FSPATH)
    	cd $(LIB_FSPATH) && cd .. && rm -rf $(NAME) && git clone https://$(LIB).git
    	cd $(LIB_FSPATH) && git checkout $(LIB_BRANCH)
    dep-clean:
    	rm -rf $(LIB_FSPATH)
    code:
    	code $(LIB_FSPATH)
    flu-dep:
    	cd $(LIB_FSPATH) && flutter packages get
    hov-dep:
    	go get -u github.com/go-flutter-desktop/hover
    	go get -u github.com/go-flutter-desktop/go-flutter
    
    mob-run:
    	cd $(LIB_FSPATH) && flutter run -d all
    desk-init:
    	# need to manually fix main.dart first DONE
    	cd $(LIB_FSPATH) && hover init $(LIB)
    desk-init-clean:
    	rm -rf $(LIB_FSPATH)/desktop
    desk-buildrun:
    	cd $(LIB_FSPATH) && hover build
    	open $(LIB_FSPATH)/desktop/build/outputs/darwin/Pangolin
    desk-run:
    	cd $(LIB_FSPATH) && hover run
    
    
    
    
    enhancement 
    opened by joeblew99 6
  • Update readme with new images of the desktop

    Update readme with new images of the desktop

    This is to show what the current desktop looks like, as the UI overhaul has drastically changed the overall appearance. So it would be a good idea to update the readme images to show the current state of the desktop.\

    Images come from the dahlia documentation website, it just links to them.

    opened by EnderNightLord-ChromeBook 5
  • Pangolin Window Manager

    Pangolin Window Manager

    Using a custom Xlib binding (with the help of ffigen), I've been able to communicate (somewhat oddly) with Xlib and thus the X-server. Here's what's happening and what needs to be done.

    • [x] Communication with X-server
    • [x] Window Manager Registration
    • [x] Window Management
    • [ ] and finally, making it look pretty.
    enhancement 
    opened by imreallyliam 5
  • Update developer.dart

    Update developer.dart

    Use power off instead of shutdown to completely shutdown kernel and device itself. Also include Bourne shell /bin/sh for making the is even more lightweight.

    opened by Laniku 5
  • Add web build & deploy

    Add web build & deploy

    This will implement a CI system for web demos. AFAIK you have to be on Chrome and a somewhat fast device to use it. I don't know, it's just the way Flutter's set up for some reason.

    enhancement 
    opened by bleonard252 5
  • Organized files. Added Fonts & Utils.

    Organized files. Added Fonts & Utils.

    • Moved all applications to application/ directory.
    • Added fonts for system wide use. (Not implemented)
    • Created an Inherited Widget for referencing to constants.
    • Developing Application Manager and component widgets.
    • Added Palette Generator (modified to extract colors from ByteArrays)
    opened by predatorx7 5
  • Fix flutter syntax change in window/window.dart

    Fix flutter syntax change in window/window.dart

    https://github.com/flutter/flutter/commit/4218c0bc38bc74a97b1b03d7b8b7f0ce32e29468

    it was commited on 22 april it must have got to stable flutter channel now

    we'll be having a lot of such situations as @nmcain said it'd be nice to have someone on dev channel of flutter to fix bugs before they even happen

    opened by Horus125 5
  • inplement terminal fix in app_list.dart

    inplement terminal fix in app_list.dart

    Pull request template

    • Please make sure you read and fill this template out entirely
    • PRs that don't have the template filled out will be ignored

    Description

    This fixes the terminal code in this file by removing it completely because pangolin would not build otherwise

    • Please include a summary of the change and which issue is fixed
    • Please also include relevant motivation and context (Why is this change required? What problem does it solve?)
    • List any dependencies that are required for this change
    • If it fixes an open issue, plase link to the issue here

    Fixes #(issue)

    Screenshots (if appropriate):

    Type of change

    Please tick the relevant option by putting an X inside the bracket

    • [ X] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist:

    • [ X] My code follows the guidelines of this project
    • [ X] I have performed a self-review of my own code
    • [ X] I have commented my code, particularly in hard-to-understand areas
    • [ X] I have made corresponding changes to the documentation
    • [ X] My changes generate no new warnings
    • [ X] All current GitHub actions pass
    • [ X] Any dependent changes have been merged and published in downstream modules
    • [ X] I have checked my code and corrected any misspellings
    • [ X] I have read the CONTRIBUTING document
    opened by wat9rz 4
  • build(deps): bump lint from 1.10.0 to 2.0.1

    build(deps): bump lint from 1.10.0 to 2.0.1

    Bumps lint from 1.10.0 to 2.0.1.

    Changelog

    Sourced from lint's changelog.

    2.0.1

    • Update changelog

    2.0.0

    Requires Dart sdk: '>=2.18.0'

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump battery_plus from 2.2.2 to 3.0.2

    build(deps): bump battery_plus from 2.2.2 to 3.0.2

    Bumps battery_plus from 2.2.2 to 3.0.2.

    Release notes

    Sourced from battery_plus's releases.

    battery_plus 3.0.2

    What's Changed

    Full Changelog: https://github.com/fluttercommunity/plus_plugins/compare/battery_plus-v3.0.1...battery_plus-v3.0.2

    battery_plus 3.0.1

    What's Changed

    Full Changelog: https://github.com/fluttercommunity/plus_plugins/compare/battery_plus-v3.0.0...battery_plus-v3.0.1

    battery_plus 3.0.0

    What's Changed

    Full Changelog: https://github.com/fluttercommunity/plus_plugins/compare/battery_plus-v2.2.2...battery_plus-v3.0.0

    Commits
    • 37abbf7 chore(release): prepare for release (#1277)
    • 1cb640d fix(all): Increase min Flutter version to fix dartPluginClass registration (#...
    • 8bf6896 chore(deps): bump gradle from 7.3.0 to 7.3.1 in /packages/network_info_plus/n...
    • 57724e3 chore(network_info_plus): Update Kotlin, Gradle and add Dependabot config (#1...
    • 92e183b chore(package_info_plus): Update Kotlin, Gradle and add Dependabot config (#1...
    • 3c52458 chore(share_plus): bump core-ktx from 1.7.0 to 1.9.0, bump compileSDK to 33 (...
    • b7b785d release(connectivity_plus_platform_interface): force release
    • 8fcc106 chore(battery_plus): Update Kotlin, Gradle and add Dependabot config (#1269)
    • 4bd0ccd chore(device_info_plus): Update Kotlin, Gradle and add Dependabot config (#1268)
    • e99b67a chore(deps): bump annotation from 1.3.0 to 1.5.0 in /packages/share_plus/shar...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Zenit UI slider

    Zenit UI slider

    Description

    • This isn't much of an issue more of an improvement, on your website it shows the zenit UI slider for the quick settings, so I added it!
    • new dependencies zenit_ui

    Screenshot

    image

    Type of change

    Please tick the relevant option by putting an X inside the bracket

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist:

    • [x] My code follows the guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] All current GitHub actions pass
    • [x] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings
    • [x] I have read the CONTRIBUTING document
    opened by AwkwardTeenageBoy 0
  • Adding strict linting rules

    Adding strict linting rules

    Description

    To promote a higher quality and readable code, I am trying to introduce strict linting rules. The rules applied were based on Very Good Ventures' rules from the very_good_analysis package repo.

    This is their article about the package.

    First, I removed the lint package from the pubspec.yaml file. Then I took their rules and added them to the analysis_options.yaml file. After running dart fix --apply, I manually fixed other warnings, and removed the rules that would introduce somewhat significant changes to the code.

    No dependencies are required for this change.

    Type of change

    Please tick the relevant option by putting an X inside the bracket

    I am really not sure what to check here for this.

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist:

    • [x] My code follows the guidelines of this project
    • [x] I have performed a self-review of my own code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] All current GitHub actions pass
    • [ ] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings
    • [x] I have read the CONTRIBUTING document
    opened by HVitureira 4
  • Customization screen:Make Theme,Taskbar Responsive

    Customization screen:Make Theme,Taskbar Responsive

    Description

    • Makes Customisation screen responsive.
      • Makes Theme Section horizontally scrollable
      • Makes Taskbar Section resizable (Changed the widget from Stack > Row)

    Screenshots (if appropriate):

    • Previously Screenshot 2022-08-24 at 4 26 41 PM (2)

    • Now

    Screenshot 2022-08-24 at 5 43 27 PM (2)

    Type of change

    Please tick the relevant option by putting an X inside the bracket

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist:

    • [x] My code follows the guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] All current GitHub actions pass
    • [x] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings
    • [x] I have read the CONTRIBUTING document
    bug 
    opened by DattatreyaReddy 0
  • [Settings] Center hint text in search bar and fix padding.

    [Settings] Center hint text in search bar and fix padding.

    Centers search bar hint text by increasing it to 46 pixels high. Will submit an issue to the flutter repo.

    Also fixes some padding to make the search bar more symmetric.

    opened by whiskeyPeak 4
Releases(dap-stable)
Owner
dahliaOS
dahliaOS is a modern, secure, lightweight and responsive operating system, combining the best of GNU/Linux and Fuchsia OS.
dahliaOS
Flutter-Tasky-App - A Task App Designed With Flutter With Registration & Login Page

Flutter-Tasky-App- A task app designed with flutter with registration & login pa

Yakubu Lute 12 Dec 23, 2022
Flutter form fields designed to take much of the burden of form-related coding off the programmer's back — masks, validations, keyboard type, etc.

well_formed Contents Overview Getting Started Demo application References Overview Well-Formed Widget Fields - Well-Formed - is a collection of Flutte

Dartoos 7 Nov 2, 2022
Live portfolio designed using Flutter 2.0 available for android and web.

DevFolio - Portfolio for Developers Designed live portfolio using Flutter 2.0. Available for Android and Web. ?? How to install? Before these steps ma

Muhammad Hamza 533 Jan 7, 2023
Custom_Empty widget is flutter plugin which is designed to notify user about some event.

Empty Widget Custom_Empty widget is flutter custom widget which is designed to notify user about some event. Screenshots Screenshots Screenshots Scree

Sonu Sharma 66 Nov 17, 2022
Magpie is a visualized platform which designed to create, develop and compile your standalone flutter module.

Magpie Workflow is a visualized platform which is designed to create, develop and compile your standalone flutter module;

Wuba 124 Dec 4, 2022
Vpn app concept UI designed using flutter

VPN App - Flutter UI This project is an implementation of a Design i found on dribbble.com by Umar Aji Pratama ❤️ Found this project useful? If you fo

Muhammad Adeel 11 Nov 30, 2022
Calculator provides simple and advanced mathematical functions in a beautifully designed app.

Hi there, I'm Behruz Hurramov Getting Started $ git clone https://github.com/ariscybertech/aris_calculator.git $ flutter packages get Run the applicat

Behruz Hurramov 3 Jul 7, 2022
Calculator provides simple and advanced mathematical functions in a beautifully designed app.

Adv Calculator See LICENSE A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get y

RAHUL SHARMA 3 Feb 21, 2022
eDoc mobile application is designed as an example of a medical application that allows doctors to manage appointments

eDoc Mobile App (Demo Version) ✨ About The eDoc mobile application is designed a

Dileepa Bandara 4 Nov 14, 2022
The Mashmart mobile app is designed as an example of how to retrieve data from the JSON API

Mashmart Mobile App (Demo Version) ✨ About The Mashmart mobile app is designed a

Dileepa Bandara 3 Nov 17, 2022
I just designed this within 30 min after watching a video by tech school on YouTube.

nft_app A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

ogunmolu oluwaseun 0 Dec 25, 2021
Login-page-ui - An animated login page, designed with dart

Beautiful Login Page UI Design and Animation ScreenShots This is one of my best

Munem Sarker 11 Nov 22, 2022
A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a computer network that is not reliant on any central authority

?? Crypto Trackers ?? Crypto Currency ?? A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange t

Prashant Kumar Singh 10 Dec 3, 2022
A Dart EPUB parser built from the ground up, and designed to support a variety of use cases and custom

A Dart EPUB parser built from the ground up, and designed to support a variety of use cases and custom implementations such as on-device caching and serving content from a server.

getBoolean 11 Nov 3, 2022
A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a computer network that is not reliant on any central authority

A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a computer network that is not reliant on any central authority

Prashant Kumar Singh 10 Dec 3, 2022
A productivity manager application, designed to sync across your devices

Potato A productivity manager application, designed to sync across your devices, it currently supports macOS! Demo Kapture.2022-08-22.at.11.10.44.mp4

Rohith Gilla 10 Sep 15, 2022
Flutter Slides utilizes Flutter Desktop Embedding to provide a simple slide presentation app

Flutter Slides Flutter Slides utilizes Flutter Desktop Embedding to provide a simple slide presentation app. Presentations are data driven from files

Tim Sneath 12 Oct 31, 2022
Simple tool to open WhatsApp chat without saving the number, developed using Google's Flutter Framework. for Android/ IOS/ Desktop/ Web

OpenWp Simple tool to open WhatsApp chat without saving the number Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About

Swarup Bhanja Chowdhury 15 Nov 1, 2022
An Ubuntu desktop settings app made with Flutter

unofficial Ubuntu Desktop Settings App made with Flutter - WIP TODO use real yaru icons - thanks to @Jupi007 improve layout implement settings search

Frederik Feichtmeier 236 Dec 15, 2022