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

Desktop is an open source application for managing multi-window, cross-platform desktop applications.

License

Notifications You must be signed in to change notification settings

reactivemarkets/desktop

Repository files navigation

Desktop

NOTE pre v1 this is considered beta quality

CircleCI codecov GitHub license npm version

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 as well as many other open source packages including expressjs, winston and 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.

Quick Start

To install a prebuilt desktop run:

npm install @reactivemarkets/desktop -g

Desktop takes one or many configuration files or urls. See Configuration for more details.

To start the application with 2 windows, from urls, run:

desktop --url=https://google.com --url=https://startpage.com/

To add another window run:

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:

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:

desktop init --name "My Application" --url https://localhost/

To run that config file specifiy the --file flag:

desktop --file application.yaml

Configuration can be loaded locally or from a url:

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

git clone https://github.com/reactivemarkets/desktop.git
cd desktop
npm ci
npm run build

License

FOSSA Status