Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/havardh/workflow
Workflow-centric workspace manager
https://github.com/havardh/workflow
Last synced: 4 days ago
JSON representation
Workflow-centric workspace manager
- Host: GitHub
- URL: https://github.com/havardh/workflow
- Owner: havardh
- Created: 2016-12-11T22:06:00.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T17:03:34.000Z (about 2 years ago)
- Last Synced: 2024-10-14T09:05:35.571Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 8.44 MB
- Stars: 154
- Watchers: 7
- Forks: 9
- Open Issues: 48
-
Metadata Files:
- Readme: Readme.md
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
- awesome - workflow - Workflow-centric workspace manager (JavaScript)
README
# Workflow
[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/workflow)
An experiment in declarative windows management with an optional [React](packages/workflow-react)
frontend and an experimental [Angular](packages/workflow-angular) frontend.## What does it do?
Workflow turns declarative windows layouts defined in javascript files ...
```javascript
export const flow = render(
,
);
```... into open applications populated with arguments in the specified layout on the screen.
![](github/readme-example.png)
## Usage
Workflow is a command line tool written for node.
Installing it globally with `npm` will set up the `workflow` command. On the first run, a home directory
will be set up. The default location is at `~/.workflow`. This is overridable with the ``WORKFLOW_HOME`
environment variable.
```bash
npm install --global workflow
```Running the command will by default resolve flow files relative to `~/.workflow/flows` or by
an absolute path.
```bash
workflow Example.js # resolves to ~/.workflow/flows/Example.js
workflow /path/to/file.js # resolves the file directly
```## Cross platform
Workflow is written in a modular way to allow for extension. There are currently experimental support
for [osx](packages/workflow-wm-osx), [windows](packages/workflow-wm-windows), and linux using
[i3](packages/workflow-wm-i3) or [wmctrl](packages/workflow-wm-wmctrl).## Devlopment
The [`cli.js`](packages/workflow/src/cli.js) can be executed in development mode. By default
it will use the standard workflow-home directory, which is overridable by `WORKFLOW_DEV_HOME`.
Development mode is activated by setting the environment variable `WORKFLOW_DEV_MODE` to `true`.
Note, you can set up an additional for dev with the create-workflow-home package.```bash
yarn # setup all dependencies
yarn bootstrap # bootstrap lerna
yarn build # run rollup to build all packagesnode ./packages/create-workflow-home/cli.js
WORKFLOW_DEV_MODE=true WORKFLOW_DEV_HOME= node ./packages/workflow/cli.js Example.js
```## Contributions
All contributions to `workflow` are welcome. Checkout the [Contributions](contributions.md) guide to get started.
## Code of conduct
By making a contribution to this project you agree to abide by the
[Code of Conduct](code-of-conduct.md).