You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
const { BrowserWindow } = require('electron')
|
|
const { createWindow } = require('./lib/common')
|
|
const { SUSPENSION_WINDOW_URL, SUSPENSION_WINDOW_FLAG } = require("../constant")
|
|
const store = require('./lib/store')
|
|
const create = () => {
|
|
const windows = BrowserWindow.getAllWindows()
|
|
let win = windows.find((window) => {
|
|
return window[SUSPENSION_WINDOW_FLAG]
|
|
});
|
|
|
|
if (win) {
|
|
win.show();
|
|
return win;
|
|
}
|
|
let areaSize = require('electron').screen.getPrimaryDisplay().workAreaSize
|
|
win = createWindow(SUSPENSION_WINDOW_URL, {
|
|
// width: 500,
|
|
// height: 400,
|
|
// alwaysOnTop: true,
|
|
// // modal: true,
|
|
// // parent: event.sender,
|
|
// minimizable: false,
|
|
// fullscreenable: false,
|
|
// maximizable: false,
|
|
// resizable: false,
|
|
// focusable: true
|
|
width: 427, //悬浮窗口的宽度 比实际DIV的宽度要多2px 因为有1px的边框
|
|
height: 130, //悬浮窗口的高度 比实际DIV的高度要多2px 因为有1px的边框
|
|
// width: 500,
|
|
// height: 500,
|
|
type: 'toolbar', //创建的窗口类型为工具栏窗口
|
|
frame: false, //要创建无边框窗口
|
|
resizable: false, //禁止窗口大小缩放
|
|
show: true, //先不让窗口显示
|
|
transparent: true, //设置透明
|
|
alwaysOnTop: true, //窗口是否总是显示在其他窗口之前
|
|
},true)
|
|
|
|
// const size = screen.getPrimaryDisplay().workAreaSize; //获取显示器的宽高
|
|
const winSize = win.getSize(); //获取窗口宽高
|
|
// //设置窗口的位置 注意x轴要桌面的宽度 - 窗口的宽度
|
|
const pos = store.get("position");
|
|
if(pos){
|
|
console.log('aaaaaaaaaa',pos);
|
|
win.setPosition(pos.x, pos.y);
|
|
}else{
|
|
win.setPosition(areaSize.width - winSize[0] - 50, areaSize.height - winSize[1] - 50);
|
|
}
|
|
|
|
|
|
win[SUSPENSION_WINDOW_FLAG] = true;
|
|
|
|
|
|
return create();
|
|
}
|
|
|
|
module.exports = { create }
|