# @lynker-desktop/electron-window-manager

electron 窗口管理

## Install

`npm i @lynker-desktop/electron-window-manager`

## 使用

### 1. 在 [主进程](https://electronjs.org/docs/glossary#main-process) 实例化

```javascript
const {initialize} = require('@lynker-desktop/electron-window-manager/main');
const windowsManager = initialize({
  preload: path.join(__dirname, '../preload/index.js')
});

win = windowsManager.create({
  name: 'demo',
  url: 'http://localhost:8000',
  loadingView: {
    url: 'http://localhost:8000/loading'
  },
})

```

### 2. 在 [preload](https://www.electronjs.org/docs/latest/tutorial/tutorial-preload) 引入

```javascript
import '@lynker-desktop/electron-window-manager/preload'
```

### 3. 在 [渲染进程](https://electronjs.org/docs/glossary#renderer-process) 实例化

```javascript
import ewm from '@lynker-desktop/electron-window-manager/renderer'
ewm.create({
  name: 'test',
  url: 'https://baidu.com',
  browserWindow: {
    resizable: false,
    alwaysOnTop: true,
    focusable: false,
    frame: false,
    show: true,
    hasShadow: false,
    transparent: true,
    width: 100,
    height:100,
    webPreferences: {
      plugins: true, 
      nodeIntegration: true, 
      contextIsolation: false,
      backgroundThrottling: false,
      webSecurity: false,
    }
  }
})
```

完整的控制接口实现参见[example](./example)。

### 运行 Example

- yarn install && cd example/renderer && yarn
- yarn dev

