Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reactivemarkets/desktop
Desktop is an open source application for managing multi-window, cross-platform desktop applications.
https://github.com/reactivemarkets/desktop
electron frontend host multi-window secure typescript
Last synced: 3 months ago
JSON representation
Desktop is an open source application for managing multi-window, cross-platform desktop applications.
- Host: GitHub
- URL: https://github.com/reactivemarkets/desktop
- Owner: reactivemarkets
- License: other
- Archived: true
- Created: 2019-03-14T14:52:46.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2023-07-18T20:12:15.000Z (over 1 year ago)
- Last Synced: 2024-09-23T06:02:14.692Z (3 months ago)
- Topics: electron, frontend, host, multi-window, secure, typescript
- Language: TypeScript
- Homepage: https://reactivemarkets.github.io/desktop/
- Size: 13.3 MB
- Stars: 17
- Watchers: 15
- Forks: 9
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
- Support: docs/support/README.md
Awesome Lists containing this project
README
# Desktop
> **NOTE** pre v1 this is considered beta quality
[![CircleCI](https://circleci.com/gh/reactivemarkets/desktop/tree/main.svg?style=shield)](https://circleci.com/gh/reactivemarkets/desktop/tree/main)
[![codecov](https://codecov.io/gh/reactivemarkets/desktop/branch/main/graph/badge.svg)](https://codecov.io/gh/reactivemarkets/desktop)
[![GitHub license](https://img.shields.io/badge/license-Apache-brightgreen.svg)](https://github.com/reactivemarkets/desktop/blob/main/LICENSE) [![npm version](https://img.shields.io/npm/v/@reactivemarkets/desktop.svg?style=flat)](https://www.npmjs.com/package/@reactivemarkets/desktop)Desktop is an open source application for managing multi-window, cross-platform desktop applications; providing deployment, configuration, notifications, logging, monitoring...
Desktop builds on the [Electron Framework](https://github.com/electron/electron) as well as many other open source packages including [expressjs](https://github.com/expressjs/express/), [winston](https://github.com/winstonjs/winston) and [yargs](https://github.com/yargs/yargs). The aim is to reuse proven design practices from production systems.
## Aims
* Secure by default
* Extensible
* Maximise developer productivity
* Use battle tested libraries
* Multi-process## Features
* Cross platform
* Secure sandbox
* Built for developers
* Simple standardised configuration
* Window Layouts
* Notifications
* Cross application messaging## Documentation
See [Documentation](https://reactivemarkets.github.io/desktop/).
## Quick Start
To install a prebuilt desktop run:
```bash
npm install @reactivemarkets/desktop -g
```Desktop takes one or many configuration files or urls. See [Configuration](#Configuration) for more details.
To start the application with 2 windows, from urls, run:
```bash
desktop --url=https://google.com --url=https://startpage.com/
```To add another window run:
```bash
desktop --url=https://duckduckgo.com/
```## Command Line Usage
Desktop comes with a full command line interface to create configuration and start the application.
For a full list of commands see the built in help:
```bash
desktop --help
```## Configuration
Applications are defined via configuration files, it is recommended to define your application in YAML. This is easier to read, maintain and allows you to group objects into a single file.
The command line interface allows you to create a basic configuration file in the current working directory:
```bash
desktop init --name "My Application" --url https://localhost/
```To run that config file specifiy the `--file` flag:
```bash
desktop --file application.yaml
```Configuration can be loaded locally or from a url:
```bash
desktop -f https://raw.githubusercontent.com/desktop-examples/config/main/examples/single-window.yaml
```## Building from source
To install all dependencies and build run:
**Note:** To be able to build for all platforms you will need to install some dependencies. On mac: `brew install mono fakeroot dpkg wine`
```bash
git clone https://github.com/reactivemarkets/desktop.git
cd desktop
npm ci
npm run build
```## License
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Freactivemarkets%2Fdesktop.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Freactivemarkets%2Fdesktop?ref=badge_large)