electron-traywindow-positioner
v1.2.1
Published
Positioning of electron BrowserWindows for tray applications
Downloads
1,149
Readme
electron-traywindow-positioner
Helps to position a electron window as a custom tray menu window.
On Windows and OSX the tray bar location is calculated and the window is
positioned based on the tray bar location.
On linux the position is calculated based on the current cursor position, because Tray.getBounds()
always returns a Rectangle
with all values set to zero.
Installation
npm install --save electron-traywindow-positioner
Usage
const positioner = require('electron-traywindow-positioner');
positioner.position(trayWindow, trayBounds);
trayWindow
must be an instance of aBrowserWindow
.trayBounds
must be an instance ofRectangle
returned fromtray.getBounds()
Only calculate the postion without positioning the window
const positioner = require('electron-traywindow-positioner');
positioner.calculate(windowBounds, trayBounds);
windowBounds
must be an instance ofRectangle
returned fromBrowserWindow.getBounds()
.trayBounds
must be an instance ofRectangle
returned fromtray.getBounds()
Custom alignment
const alignment = {x: 'left', y: 'up'};
const positioner = require('electron-traywindow-positioner');
positioner.position(trayWindow, trayBounds, alignment);
// or
positioner.calculate(windowBounds, trayBounds, alignment);
alignmet.x
alignment on x axis relative to tray icon when tray bar is top or bottom. The value can be one ofleft
,center
orright
, default iscenter
.alignmet.y
alignment on y axis relative to tray icon when tray bar is left or right. The value can be one ofup
,center
ordown
, default isdown
.