Giter Site home page Giter Site logo

dahliaos / pangolin_desktop Goto Github PK

View Code? Open in Web Editor NEW
1.9K 39.0 184.0 301.57 MB

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

Home Page: https://web.dahliaos.io

License: Apache License 2.0

Dart 91.06% Swift 0.29% HTML 0.50% Ruby 0.28% CMake 3.29% C++ 4.12% C 0.28% Makefile 0.19%
flutter desktop-environment linux-desktop material-design pangolin-desktop linux dahliaos dart ui user-interface

pangolin_desktop's Introduction

WebsiteDiscordReleasesDonateDocumentation

Pangolin Desktop

Build and Deploy to Web Locale generator Demo Crowdin

  • 🖥 Pangolin is the desktop shell of dahliaOS.
  • 💙 Written in Dart/Flutter.
  • 🏝 Utopia is the window manager of Pangolin.
  • 🐚 Pangolin was named after a shelled animal like the Armadillo UI.
  • 🌐 Check the web preview here.

Settings and start menu, commit 876180d.

Calculator, Terminal, Notes and search, commit 876180d.

Development

To develop and locally test Pangolin:

Step 1. Install development tools

  1. Install Flutter
  2. Install an IDE of your choice (we recommend VSCode)
    • We also recommend installing Dart and Flutter extensions if you're opting in for VSCode. For other IDEs, please inform yourself.

Step 2. Run Pangolin

Note: You can run Pangolin on any platform that Flutter supports but we recommend running it on Linux as some features of Pangolin are designed exclusively for Linux and won't work on other platforms.

Run Pangolin by running:

make run target=linux

List of targets:

  • linux
  • windows
  • macos

Flutter has hot reloading so no need to restart the instance when it's running!

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-2023 - The dahliaOS Authors - [email protected]

This project is licensed under the Apache 2.0 license

pangolin_desktop's People

Contributors

allansrc avatar amitkhairnar44 avatar aoaowangxiao avatar bdlukaa avatar bleonard252 avatar carbonatedcaffeine avatar dahliaos-bot avatar daksh777 avatar dependabot[bot] avatar dhuvikamboj avatar evolutionevotv avatar funeoz avatar goktugvatandas avatar horus125 avatar hrx03 avatar ignapk avatar kanouharu avatar larsb24 avatar lucaspuntillo avatar mt-gitlocalize avatar nmcain avatar nobody5050 avatar ntflix avatar pookiegoescrazy avatar predatorx7 avatar quintenvandamme avatar rohan287 avatar sincerelyfaust avatar whiskeypeak avatar xvanzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pangolin_desktop's Issues

[FEATURE REQUEST] <title>

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe.

create now

Describe the solution you'd like

edit mode

Describe alternatives you've considered

No response

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

missing binaries

In the releases are only a *.apk as binary.
But I want a system in QEmu, VMWare, VirtualBox or Android Studio which runs from Zircon over Garnet and Peridot until Topaz the complete system.

For example the Android Emulator in Android Studio bundled with the Fuchsia System, which existing as binary for MS-Windows.
Or other easy ways to try the complete system out.

Notifications & notification area

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Modern operating systems, starting with mobile systems such as Android and iOS, moving to desktop operating systems such as Windows, macOS, and Linux, and even game consoles such as the Xbox and Nintendo Switch have system notification systems. dahliaOS developers would benefit from being able to send notifications to their users.

Describe alternatives you've considered
I was considering a "user feed" that starts with notifications, then proceeds to weather, news, etc.

Additional context
There's already a non-functional "notification area" in the launcher. Perhaps we should use some sort of socket on Dahlia Linux and the native Fuchsia mechanism for Zircon.

I really like this so far, however...

Is your feature request related to a problem? Please describe.
Maybe. The default applications do not match the theme of the system and settings app.

Describe the solution you'd like
Instead of shipping apps like it's an Android app, (because the calculator app looks like an app meant for android in case of usability and ux), make a universal theme for the apps based on the settings app and tge system theme.

Describe alternatives you've considered
No alternatives that I considered so far

For which platform is this feature request?

  • Platform: Linux, Desktop

Do you have an idea of how we would add it?
No.

Why should we add it?
It would boost user experience, and would make DahliaOS the best Linux OS the world has seen

Additional context

Gray screen

Describe the bug
When running flutter run, I get a dark grey screen.

What kind of a bug is it?
Visual bug.

To Reproduce
Steps to reproduce the behavior:

  1. Build the application
  2. Run it
  3. Observe the grey screen
  4. See error in console:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type 'int' is not a subtype of type 'String' in type cast
#0      DatabaseManager.get (package:pangolin/utils/data/database_manager.dart:41:51)
#1      DatabaseManager.initialseDatabase (package:pangolin/utils/data/database_manager.dart:34:41)
<asynchronous suspension>
#2      main (package:pangolin/main.dart:44:3)
<asynchronous suspension>

Expected behavior
I get the desktop.

Screenshots
image

Desktop (please complete the following information):

  • OS: Arch Linux
  • Device: HP Omen 30L

dahliaOS build version
Unknown, kernel version 5.16-zen

Adds Portuguese Lang Supports

Support for Portuguese Language (Brazil)

  • add initial core key translation for pt-br.
  • set Locale props, json keys value, quick settup.
  • add docs

I just did it on 9c960048 fork.
I would did pull request if I had found the branch gitlocalize

Global Search

Is your feature request related to a problem? Please describe.
Yes, there currently are no search features in the OS

Describe the solution you'd like
Global search in the Launcher for apps, settings, files and more

Describe alternatives you've considered
None

For which platform is this feature request?
All of them

Do you have an idea of how we would add it?
Flutter search delegate

Why should we add it?
So we could search for things

Additional context
None

[BUG] No interaction on web demo

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

Opening the web demo, only the basic layout and the initial dialog seem to work. Trying to open the start menu, or interact with any of the UI seems to not work.

Expected behavior

Clicking on the start/search and other widgets should open up their menus to demonstrate their behavior. Internal settings apps etc. should be able to be opened to demonstrate pangolin's layout and window management.

Steps to reproduce

  1. Go to web.dahliaos.io
  2. Try to interact with the interface after closing the initial "this is alpha" dialog.

Environment (values that do not apply assign with "N/A")

- OS: Manjaro Linux 6.1.31
- Device: Acer Nitro 15
- Browser: Tried on Firefox 115 and Chromium 115

Anything else?

This project is brilliant! I'd love to give it a spin on real hardware at some point and contribute <3

Code of Conduct

  • I agree to follow this project's Code of Conduct

Migrate theme settings to the same API we use for localization

Currently, we use the shared preferences plugin through Norbert Koszir's dynamic_theme package, It would be very nice to actually have global color theming, with more colors than red and blue, since his plugin is a bit limited.

I would like use to migrate theme to Hive, and have the global theme color changed between all of the material colors, when the theme button is pressed.
image

Report a bug/Feature request application

Is your feature request related to a problem? Please describe.
It is related to all future bug reports/feature requests

Describe the solution you'd like
A simple app written in Flutter that would offer the user to either report a bug or request a feature/make a suggestion and would provide fields which the user would have to fill in, after his report/request is done, the app would forward it to here, GitHub issues.

Describe alternatives you've considered
None

Additional context
N/A

[ ! ] Your app isn't using AndroidX

C:\Users\camde\Documents\pangolin-desktop>flutter run

Launching lib\main.dart on Galaxy J4 in debug mode...

[ ! ] Your app isn't using AndroidX.
To avoid potential build failures, you can quickly migrate your app by following the steps on https://goo.gl/CP92wY.

Running Gradle task 'assembleDebug'...

^-- Log

It doesn't do anything to the actual desktop.

Themes with Dark and Light Mode

Is your feature request related to a problem? Please describe.
At the moment, Themes are still very alpha, changing themes is still kind of broken and no proper Light theme

Describe the solution you'd like
Real time changing themes with light mode

Describe alternatives you've considered
None

For which platform is this feature request?

  • Platform: [Linux, Web]

Do you have an idea of how we would add it?
Working on it

Why should we add it?
Proper customization

Additional context
None

Kernel panic developer app.

This is for the developer app.

For induce kernel panic:

On Linux, you might have to echo 1 > /proc/sys/kernel/sysrq before you are able to echo c > /proc/sysrq-trigger.

[BUG] Dependency conflict: intl 0.17.0 -> intl 0.18.0

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

when run make run target=linux

Running Pangolin Desktop
Setting "enable-linux-desktop" value to "true".

You may need to restart any open editors for them to read new settings.
Recreating project ....
Running "flutter pub get" in pangolin_desktop...
Resolving dependencies... (13.1s)
Because pangolin depends on flutter_localizations from sdk which depends on intl 0.17.0, intl 0.17.0 is required.
So, because pangolin depends on intl ^0.18.0, version solving failed.

Environment (values that do not apply assign with "N/A")

Operating System: Arch Linux 
KDE Plasma Version: 5.27.2
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 6.2.2-arch2-1 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-8809G CPU @ 3.10GHz
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX Vega M GH Graphics
Manufacturer: Intel Corporation
Product Name: NUC8i7HVK
System Version: J71485-503

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

web apps in web demo

Describe the solution you'd like
I would like to have web apps in the web demo and have the ability to create web apps locally in the web demo

Describe alternatives you've considered
N/A

For which platform is this feature request?
web demo
Do you have an idea of how we would add it?
recreate the UI from the full operating system

Why should we add it?
to give people more examples of what the UI looks like in more applications

Warning: implicit declaration of function 'waitpid' is invalid in C99

The following error occurs when building on Linux.

pangolin_desktop/linux/flutter/ephemeral/.plugin_symlinks/flutter_pty/src/flutter_pty_unix.c:94:5: warning: implicit declaration of function 'waitpid' is invalid in C99 [-Wimplicit-function-declaration]

But for the record I am building on WSL2 so I'm not sure if it's to do with that, and I used flutter build linux.

Action Center/Quick Settings overlapping.

So this has been happening for a little bit and I thought it was just the web, until I tried it on windows. This happens on all my platforms, android, windows, and web, at this point it was just annoying to me.
image
image
There's some screenshots so you can hopefully fix it! Thanks! <3

Not able to run dahliaOS on VirtualBox

Describe the bug
Yesterday i wanted to try out dahliaOS so I downloaded the legacy version to test it out in VirtualBox and after setting everything up when I tried to run the Machine it ran the initial screen and then it was stuck on the initial screen and in noticed my CapsLock light on keyboard started blinking and it never booted into dahliaOS.

What kind of a bug is it?
It is an OS Bug which is not letting me run dahliaOS on VirtualBox

To Reproduce
Steps to reproduce the behavior:

  1. download the latest legacy version
  2. Setup virtual box with recommended amount of resources
  3. Try to start the Virtual Machine
  4. See error

Expected behavior
During the initial boot itself you will never make it into the system and it will just stay on a black screen with text and CapsLock light will start blinking

Screenshots
The Bug

Desktop (please complete the following information):

  • OS: dahliaOS Linux
  • Device: HP Pavillion 15 Gaming ec0xxx

dahliaOS build version
dahliaOS Linux 220222 (Feb 23,2022)

Battery mode is shown before the current battery % is loaded.

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

Opening the quick settings overlay shows the battery tile initially show the the battery performance mode only to be replaced by the battery percentage after the future has loaded. This looks a little jarring.

simplescreenrecorder-2023-06-10_05.36.44.mp4

Expected behavior

Show the percentage from the start. One way to do this would be to load the future when the desktop starts up and collect that value. Might wanna use streams to continuously update the value as well.

Steps to reproduce

No response

Environment (values that do not apply assign with "N/A")

- OS: DahliaOs - main branch
- Device: xps 9500

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Display Settings in the Pangolin Desktop

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe.

I have an ultrawide 200hz monitor, and in pangolin, theres no way to change anything about the display settings

Describe the solution you'd like

In the Pangolin Settings app, i would like a completed display settings with refresh rate and resolution.

Describe alternatives you've considered

xrandr - display settings CLI, complicated to use

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

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



pangolin terminal run / 3 dot buttons create new terminal session

Describe the bug
clicking either of these
image
opens session x in the terminal window (this should be and is already done by clicking the + button)

To Reproduce
Steps to reproduce the behavior:

  1. Go to terminal
  2. Click on either the run/play triangle or the vertical ellipses
  3. new terminal tab is opened which should not be happening
  4. See error

Expected behavior
clicking the run button should run what you've input into the terminal
vertical ellipses / 3 dots should give you a menu or further options

Screenshots
If applicable, add screenshots to help explain your problem.
image

Desktop (please complete the following information):

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. Android, Zircon, DahliaOS Linux]
  • Execution Method: [e.g. ADB, Zircon tool]

Additional context
hi there

[BUG] DahOS-Desktop not work's for any linux

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

i built it with flutter, but because of an unknown problem, DE does not appear, and instead this shows flutter demos, I tried on openbox, problems gtk it's gone, but the Flutter demos problem still exists, but 2022 DE, It even works with GNOME
1
2

Did I forget something or is it a source code problem.

Expected behavior

Put your feelings aside, ok my friend :)

The important thing is that I expect from the source code because I tried it on 3 distributions with the same steps

Nix
Arch
Fedora

They all have the same problem, I tried modifying ./linux/my_application.cc and no results.

Steps to reproduce

No response

Environment (values that do not apply assign with "N/A")

- Platform: Fedora Workstation 39 + Bedrock Linux OS

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Build Failed

In the github actions, it fails to get our dependencies through pub get. This fails the APK compilation process

Settings takes too long to open and freezes the desktop for a short time when running natively

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

when running pangolin settings from native pangolin, (not web preview) it freezes the desktop and takes a long time to load.

Expected behavior

i expect it to open instantly like it does in the web preview

Steps to reproduce

  1. Run Pangolin on Linux
  2. Go to taskbar and press settings

Environment (values that do not apply assign with "N/A")

- OS:Gentoo Linux 2.8 5.15.52-gentoo-dist
- Device: ASUS TUF gaming a15

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Improve performance of Icon rendering in `CompactLaucherOverlay`

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

Scrolling through the listview leads to icons taking some time before actually getting rendered. I haven't looked closely at the source code but I'm sure there must be a way to improve things here. Maybe caching the path the icon is located at? Will take a deeper look.

Expected behavior

No response

Steps to reproduce

No response

Environment (values that do not apply assign with "N/A")

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Various colour/theme issues

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

Context Menus:

Light:

Screenshot from 2023-07-03 17-25-15

Dark:

Screenshot from 2023-07-03 17-14-11

Quick Settings:
The battery indicator icon should be darker in light mode and brighter in dark mode. Same with the popup above the Slider widget.

Light:

Screenshot from 2023-07-03 17-13-33

Dark:

Screenshot from 2023-07-03 17-13-55

@larsb24 since you're the theme guy :)

Expected behavior

No response

Steps to reproduce

No response

Environment (values that do not apply assign with "N/A")

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.