Я создаю приложение Electron, в котором мы хотим, чтобы панель инструментов с навигационной панелью была закреплена в правой части экрана. Он должен быть справа, потому что большинство наших пользователей работают в Windows, а закрепление слева означает, что оно перекрывает множество значков и будет закрыто меню «Пуск».
Когда пользователь щелкает значок, мне нужно, чтобы окно открывалось / менялось влево.
При запуске приложения я создаю новое окно
mainWindow = new BrowserWindow({
width: 800,
height: 600,
center: true,
backgroundColor: '#18A4FC'
})
Затем, после аутентификации пользователя, я использую ipcRender, чтобы отправить сообщение об успешном завершении в файл main.js. В настоящее время это «закрепляет» окно в правой части экрана, используя метод setBounds и размеры экрана.
ipcMain.on('login-success', () => {
let display = electron.screen.getPrimaryDisplay()
const { width, height } = display.bounds
mainWindow.setBounds({
x: width - 40,
y: 0,
width: 40,
height: height
})
})
Затем, когда пользователь щелкает значок, я использую setSize, чтобы «открыть» док-станцию. Это означает, что я меняю ширину окна с 40 до 480 пикселей. Но он открывается вправо, за кадром. Мне нужно, чтобы открыть влево.
ipcMain.on('resize-open', () => {
let display = electron.screen.getPrimaryDisplay()
const { height } = display.bounds
mainWindow.setSize(480, height)
})
Есть идеи, как это сделать? Я понимаю, что ширина, высота устанавливается из левого верхнего угла 0,0. Любой способ сбросить это?