0.5.0 • Published 8 years ago
dextop v0.5.0
dextop
provides a minimal window manager in your browser
Installation | Example | Usage | License
Installation
With npm do
npm install dextopor use a CDN like
<script src="https://unpkg.com/dextop/dist/dextop.js"></script>Example
Try Codepen demo online, see example folder on GitHub, or do the following locally
- Clone this repo.
- Install deps:
npm install. - Start dev server:
npm start.
Usage
Start with an empty div in your HTML, for example
<div id="my-dextop-window"></div>To import DextopWindow choose your favourite syntax among:
const DextopWindow = require('dextop').Windowimport { DextopWindow } from 'dextop'
Create a DextopWindow instance, add some content.
const myDiv = document.querySelector('#my-dextop-window')
const dextopWin = new DextopWindow(myDiv, { width: 400, height: 200 })
dextopWin.content.innerHTML = `<p>My content<p>`First constructor argument is a DOM element, second argument is an object to provide the following options:
| name | default |
|---|---|
| autohide | true |
| width | 400 |
| height | 300 |
| color | 'rgba(0, 0, 0, 0.1)' |
| x | 0 |
| y | 0 |
| border | 1 |
| resizerSize | 35 |
| toolbarHeight | 28 |
The content attribute holds a div which class is dextop-content, you
can optionally style it with a CSS like the following.
.dextop-content {
overflow: auto;
/* Disable text selection */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Disable dragging */
-webkit-user-drag: none;
user-drag: none;
}Class DextopWindow inherits from EventEmitter, it is possible to listen to events like in the following snippet.
dextop.on('move', ({ x, y }) => {
console.log('updated position', x, y)
})The following events are emitted:
| name | data |
|---|---|
| move | { x, y } |
| resize | { width, height } |