Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
electron-window-state
Advanced tools
Simple module that helps to save and restore size and position of Electron windows.
A library to store and restore window sizes and positions for your Electron app
Heavily influenced by the implementation in electron-boilerplate.
$ npm install --save electron-window-state
const windowStateKeeper = require('electron-window-state');
let win;
app.on('ready', function () {
// Load the previous state with fallback to defaults
let mainWindowState = windowStateKeeper({
defaultWidth: 1000,
defaultHeight: 800
});
// Create the window using the state information
win = new BrowserWindow({
'x': mainWindowState.x,
'y': mainWindowState.y,
'width': mainWindowState.width,
'height': mainWindowState.height
});
// Let us register listeners on the window, so we can update the state
// automatically (the listeners will be removed when the window is closed)
// and restore the maximized or full screen state
mainWindowState.manage(win);
});
Note: Don't call this function before the ready
event is fired.
defaultWidth
- Number
The width that should be returned if no file exists yet. Defaults to 800
.
defaultHeight
- Number
The height that should be returned if no file exists yet. Defaults to 600
.
path
- String
The path where the state file should be written to. Defaults to
app.getPath('userData')
file
- String
The name of file. Defaults to window-state.json
maximize
- Boolean
Should we automatically maximize the window, if it was last closed
maximized. Defaults to true
fullScreen
- Boolean
Should we automatically restore the window to full screen, if it was last
closed full screen. Defaults to true
const windowState = windowStateKeeper({
defaultWidth: 1000,
defaultHeight: 800
});
x
- Number
The saved x
coordinate of the loaded state. undefined
if the state has not
been saved yet.
y
- Number
The saved y
coordinate of the loaded state. undefined
if the state has not
been saved yet.
width
- Number
The saved width
of loaded state. defaultWidth
if the state has not been
saved yet.
height
- Number
The saved heigth
of loaded state. defaultHeight
if the state has not been
saved yet.
isMaximized
- Boolean
true
if the window state was saved while the the window was maximized.
undefined
if the state has not been saved yet.
isFullScreen
- Boolean
true
if the window state was saved while the the window was in full screen
mode. undefined
if the state has not been saved yet.
manage(window)
- Function
Register listeners on the given BrowserWindow
for events that are
related to size or position changes (resize
, move
). It will also restore
the window's maximized or full screen state.
When the window is closed we automatically remove the listeners and save the
state.
unmanage
- Function
Removes all listeners of the managed BrowserWindow
in case it does not
need to be managed anymore.
saveState(window)
- Function
Saves the current state of the given BrowserWindow
. This exists mostly for
legacy purposes, and in most cases it's better to just use manage
.
MIT © Marcel Wiehle
FAQs
Simple module that helps to save and restore size and position of Electron windows.
The npm package electron-window-state receives a total of 23,842 weekly downloads. As such, electron-window-state popularity was classified as popular.
We found that electron-window-state demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.