Skip to content

Latest commit

 

History

History
49 lines (45 loc) · 1.61 KB

getWindowMonitor.md

File metadata and controls

49 lines (45 loc) · 1.61 KB
/**
 * get monitor of the window
 * @returns {Promise<*>}
 */
async function getWindowMonitor(name) {
    return new Promise(async (resolve, reject) => {
        try {
            overwolf.windows.obtainDeclaredWindow(name, (result) => {
                if(result.status === 'success')
                {
                    overwolf.utils.getMonitorsList((monitors) => {
                        if(monitors.success === true)
                        {
                            for(let i = 0; i < monitors.displays.length; i++)
                            {
                                let display = monitors.displays[i];

                                let xMin    = display.x;
                                let xMax    = xMin + display.width;

                                if(result.window.left >= xMin && result.window.left <= xMax)
                                {
                                    let yMin    = display.y;
                                    let yMax    = yMin + display.height;

                                    if(result.window.top >= yMin && result.window.top <= yMax)
                                    {
                                        resolve(display);
                                        return;
                                    }
                                }
                            }
                        }

                        reject(monitors);
                    });
                }
                else
                {
                    reject(result);
                }
            });
        } catch (e) {
            reject(e);
        }
    });
}