This repository has been archived by the owner on Jul 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7a7470a
commit 19d5b6c
Showing
1 changed file
with
87 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,87 @@ | ||
# desktop | ||
Desktop is an open source application for managing multi-window, cross-platform desktop applications. | ||
# 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 [socket.io](https://github.com/socketio/socket.io), [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 | ||
* 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 | ||
|
||
## 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, our preference is to define your application via a YAML file. This is easier to read, maintain and allows you to group all 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. | ||
|
||
## 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://gitlab.com/reactivemarkets/desktop/desktop.git | ||
cd desktop | ||
npm ci | ||
npm run build | ||
``` | ||
|