1.2.0 • Published 4 years ago

openfin-layouts v1.2.0

Weekly downloads
641
License
Apache-2.0
Repository
-
Last release
4 years ago

OpenFin Layouts

Overview

OpenFin Layouts delivers window management and layout user experience across the desktop for OpenFin-based applications.

OpenFin Layouts uses the new Services framework to expose its API to consuming applications. You can see the documentation for these APIs here: http://cdn.openfin.co/jsdocs/alpha/fin.desktop.Service.html.

This project consist of 2 parts: 1. The Layouts Service, which manages the state of windows. 2. The Layouts Client, which exposes calls to undock and opt-out of snapping behavior.

Dependencies

  • OpenFin version >= 8.56.30.55
  • RVM >= 4.2.0.33.

Features

  • Windows snap to the right or bottom edges of window or group.
  • API available to undock or opt-out of snapping.
  • On inclusion of plugin script undocking with CTRL+SHIFT+U or CMD+SHIFT+U.
  • A window will not snap if it detects a collision. It will not try to find a more suitable point.

Demo Installer

This windows installer will launch a demo for OpenFin Layouts.

Run Locally

  • To run the project locally the npm scripts require git bash.
  • Windows support only.
  • Node 8.11 LTS.
npm install
npm run dev

Getting Started

Using the Layouts service is done in two steps, add the service to application manifest and import the API:

Manifest declaration

To ensure the service is running, you must declare it in your application config.

"services" :
[
   {
   "name":"layouts"
   }
]

Import the Client API

npm install openfin-layouts

The client module exports two functions: undock and deregister.

Both have the same signature, they take an optional OpenFin Window Identity (an object with uuid and name). This defaults to the identity of the current window.

Deregister opts the given window out of snapping behavior. Undock removes the given window from its group.

Both functions are asynchronous and return a promise.

Docs

Usage

import {undock, deregister} from 'openfin-layouts';

undock().then(() => console.log('successfully undocked myself'));
undock({uuid: 'otherWindow', name: 'otherWindow'}).then(() => console.log('successfully undocked otherWindow'));
deregister().then(() => console.log('successfully deregistered myself'));
deregister({uuid: 'otherWindow', name: 'otherWindow'}).then(() => console.log('successfully deregistered otherWindow'));

Testing

npm install
npm test

Notes

  • Testing runtime version must be >= 9.*
  • alpha RVM
  • If using Parallels Desktop, you have to be in a mode where Parallels can control the mouse. Set Settings>Hardware>Mouse&Keyboard>Mouse to Optimize for Games
  • Other setups haven't been tested

Roadmap

This is a WIP. Items on our immediate roadmap include:

  • Resizing windows within a group
  • Snapping window groups to other window groups
  • Support for saving and recreating layouts
  • Cross-runtime support
  • Z-index management of windows

Known Issues

  • Apps in a layout need to be in the same runtime
  • Windows Aero Shake is not supported

License

This project uses the Apache2 license

Support

This is an open source project and all are encouraged to contribute. Please enter an issue in the repo for any questions or problems. For further inqueries, please contact us at support@openfin.co

1.2.0-alpha.1

4 years ago

1.2.0-alpha.172

4 years ago

1.2.0-alpha.171

4 years ago

1.2.0-alpha.170

4 years ago

1.2.0

4 years ago

1.2.0-alpha.168

4 years ago

1.1.0-alpha.167

4 years ago

1.0.6-alpha.166

4 years ago

1.0.6-alpha.165

5 years ago

1.0.6-alpha.164

5 years ago

1.0.6-alpha.161

5 years ago

1.1.0

5 years ago

1.0.6-alpha.158

5 years ago

1.0.6-alpha.157

5 years ago

1.0.6-alpha.156

5 years ago

1.0.6-alpha.155

5 years ago

1.0.6-alpha.154

5 years ago

1.0.6-alpha.153

5 years ago

1.0.6-alpha.152

5 years ago

1.0.6-alpha.150

5 years ago

1.0.5

5 years ago

1.0.5-alpha.149

5 years ago

1.0.5-alpha.148

5 years ago

1.0.5-alpha.147

5 years ago

1.0.5-alpha.145

5 years ago

1.0.5-alpha.143

5 years ago

1.0.5-alpha.141

5 years ago

1.0.4-alpha.128

5 years ago

1.0.4-alpha.126

5 years ago

1.0.4-alpha.124

5 years ago

1.0.4-alpha.120

5 years ago

1.0.4-alpha.118

5 years ago

1.0.3

5 years ago

1.0.3-alpha.117

5 years ago

1.0.3-alpha.109

5 years ago

1.0.3-alpha.108

5 years ago

1.0.3-alpha.106

5 years ago

1.0.3-alpha.103

5 years ago

1.0.3-alpha.102

5 years ago

1.0.3-alpha.100

5 years ago

1.0.2

5 years ago

1.0.3-alpha.99

5 years ago

1.0.2-alpha.97

5 years ago

1.0.2-alpha.95

5 years ago

1.0.2-alpha.94

5 years ago

1.0.2-alpha.91

5 years ago

1.0.1-alpha.85

5 years ago

1.0.1-alpha.84

5 years ago

1.0.1-alpha.64

5 years ago

1.0.1-alpha.63

5 years ago

1.0.1-alpha.58

5 years ago

1.0.1-alpha.52

5 years ago

1.0.0

5 years ago

1.0.0-alpha.48

5 years ago

1.0.0-alpha.38

5 years ago

1.0.0-alpha.35

5 years ago

1.0.0-alpha.30

5 years ago

1.0.0-alpha.20

5 years ago

1.0.0-alpha.19

5 years ago

1.0.0-alpha.15

5 years ago

1.0.0-alpha.14

5 years ago

1.0.0-alpha.8

5 years ago

1.0.0-alpha.7

5 years ago

1.0.0-alpha.3

5 years ago

1.0.0-alpha.1

5 years ago

1.0.0-alpha.33

5 years ago

1.0.0-alpha.32

5 years ago

1.0.0-alpha.27

5 years ago

1.0.0-alpha.26

5 years ago

1.0.0-alpha.25

5 years ago

1.0.0-alpha.23

5 years ago

0.9.6

5 years ago

0.9.6-alpha.21

5 years ago

0.9.6-alpha.20

5 years ago

0.9.6-alpha.18

5 years ago

0.9.6-alpha.2

5 years ago

0.9.6-alpha.1

5 years ago

0.9.6-alpha.9

5 years ago

0.9.6-alpha.36

5 years ago

0.9.5

5 years ago

0.9.5-alpha.34

5 years ago

0.9.5-alpha.29

5 years ago

0.9.4

5 years ago

0.9.4-alpha.27

5 years ago

0.9.4-alpha.18

5 years ago

0.9.4-alpha.17

5 years ago

0.9.4-alpha.11

5 years ago

0.9.4-alpha.10

5 years ago

0.9.4-alpha.9

5 years ago

0.9.4-alpha.4

5 years ago

0.9.4-alpha.2

5 years ago

0.9.4-alpha.1

5 years ago

0.9.4-alpha.29

5 years ago

0.9.4-alpha.28

5 years ago

0.9.4-alpha.26

5 years ago

0.9.4-alpha.25

5 years ago

0.9.4-alpha.24

5 years ago

0.9.4-alpha.22

5 years ago

0.9.3

5 years ago

0.9.3-alpha.21

5 years ago

0.9.3-alpha.20

5 years ago

0.9.3-alpha.19

5 years ago

0.9.3-alpha.18

5 years ago

0.9.3-alpha.17

5 years ago

0.9.3-alpha.11

6 years ago

0.9.3-alpha.10

6 years ago

0.9.3-alpha.9

6 years ago

0.9.3-alpha.7

6 years ago

0.9.3-alpha.110

6 years ago

0.9.3-alpha.109

6 years ago

0.9.2

6 years ago

0.9.2-alpha.108

6 years ago

0.9.2-alpha.106

6 years ago

0.9.1

6 years ago

0.9.1-alpha.105

6 years ago

0.9.1-alpha.104

6 years ago

0.9.1-alpha.101

6 years ago

0.9.1-alpha.95

6 years ago

0.9.1-alpha.94

6 years ago

0.9.0

6 years ago

0.8.1

6 years ago

0.8.1-alpha.89

6 years ago

0.8.1-alpha.88

6 years ago

0.8.1-alpha.87

6 years ago

0.0.3-alpha.86

6 years ago

0.0.3-alpha.84

6 years ago

0.0.3-alpha.83

6 years ago

0.0.3-alpha.81

6 years ago

0.0.3-alpha.79

6 years ago

0.0.3-alpha.78

6 years ago

0.0.3-alpha.77

6 years ago

0.0.3-alpha.76

6 years ago

0.0.3-alpha.75

6 years ago

0.0.3-alpha.71

6 years ago

0.0.3-alpha.70

6 years ago

0.0.3-alpha.69

6 years ago

0.0.3-alpha.68

6 years ago

0.0.3-alpha.67

6 years ago

0.0.3-alpha.66

6 years ago

0.0.3-alpha.65

6 years ago

0.0.3-alpha.62

6 years ago

0.0.3-alpha.61

6 years ago

0.0.3-alpha.59

6 years ago

0.0.3-alpha.58

6 years ago

0.0.3-alpha.55

6 years ago

0.0.3-alpha.54

6 years ago

0.0.3-alpha.53

6 years ago

0.0.3-alpha.51

6 years ago

0.0.3-alpha.50

6 years ago

0.0.3-alpha.49

6 years ago

0.0.3-alpha.43

6 years ago

0.0.3-alpha.42

6 years ago

0.0.3-alpha.41

6 years ago

0.0.3-alpha.40

6 years ago

0.0.3-alpha.39

6 years ago

0.0.3-alpha.37

6 years ago

0.0.3-alpha.35

6 years ago

0.0.3-alpha.27

6 years ago

0.0.3-alpha.26

6 years ago

0.0.3-alpha.22

6 years ago

0.0.2-alpha.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago