electron launcher
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

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 }