我想订阅electron
提供的窗口移动事件,但我不知道如何在atom
包中对其进行编码。
当我阅读electron docs时,我发现了一个我认为与我想要的相似的例子:
const {BrowserWindow} = require('electron')
let win = new BrowserWindow()
win.on('move', (e) => {
// . . .
})
但这似乎需要创建一个新的electron
窗口,而我不知道如何在现有BrowserWindow
窗口中获取当前atom
。
我也可以加入window.onresize
中的atom
事件,但没有window.onmove
。
最后,我找到了一种方法来获取atom docs中的窗口位置,但我不知道如果没有轮询,这将是多么有用。
答案 0 :(得分:1)
首先,我们应该注意,根据official documentation,有两个事件,move
和moved
。后者仅被标记为MacOS。
为了侦听事件,需要获取当前窗口。在客户端,可以这样做
const electron = require('electron');
const currentWindow = electron.remote.getCurrentWindow();
currentWindow.on('move', function() {
// Do move event action
});
在应用程序端没有远程控制,因此以这种方式获取窗口
const { BrowserWindow } = require('electron');
const currentWindow = BrowserWindow.getFocusedWindow();
currentWindow.on('move', function() {
// Do move event action
});