Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@getstation/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);
});
Please do not set useContentSize
to true
at creating BrowserWindow
instance
because it changes how to calculate window size.
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 window was maximized.
undefined
if the state has not been saved yet.
isFullScreen
- Boolean
true
if the window state was saved while 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 @getstation/electron-window-state receives a total of 1 weekly downloads. As such, @getstation/electron-window-state popularity was classified as not popular.
We found that @getstation/electron-window-state demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers 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.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.