Skip to content
This repository has been archived by the owner on Jul 26, 2023. It is now read-only.

Commit

Permalink
Updating README
Browse files Browse the repository at this point in the history
  • Loading branch information
markmcdowell authored Mar 14, 2019
1 parent 7a7470a commit 19d5b6c
Showing 1 changed file with 87 additions and 2 deletions.
89 changes: 87 additions & 2 deletions README.md
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
```

0 comments on commit 19d5b6c

Please sign in to comment.