forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
electron-window-state.d.ts
90 lines (87 loc) · 2.71 KB
/
electron-window-state.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// Type definitions for electron-window-state 2.0.0
// Project: https://github.com/mawie81/electron-window-state
// Definitions by: rhysd <https://github.com/rhysd>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../github-electron/github-electron.d.ts" />
declare namespace ElectronWindowState {
interface WindowState {
/*
* The saved x coordinate of the loaded state.
* undefined if the state has not been saved yet.
*/
x: number;
/*
* The saved y coordinate of the loaded state.
* undefined if the state has not been saved yet.
*/
y: number;
/*
* The saved width of loaded state.
* defaultWidth if the state has not been saved yet.
*/
width: number;
/*
* The saved heigth of loaded state.
* defaultHeight if the state has not been saved yet.
*/
height: number;
/*
* true if the window state was saved while the the window was maximized.
* undefined if the state has not been saved yet.
*/
isMaximized: 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.
*/
isFullScreen: boolean;
/*
* 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.
*/
manage(win: Electron.BrowserWindow): void;
/*
* 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.
*/
saveState(win: Electron.BrowserWindow): void;
}
interface WindowStateKeeperOptions {
/*
* The width that should be returned if no file exists yet. Defaults to 800.
*/
defaultWidth?: number;
/*
* The height that should be returned if no file exists yet. Defaults to 600.
*/
defaultHeight?: number;
/*
* The path where the state file should be written to.
* Defaults to app.getPath('userData')
*/
path?: string;
/*
* The name of file. Defaults to window-state.json
*/
file?: string;
/*
* Should we automatically maximize the window,
* if it was last closed maximized. Defaults to true
*/
maximize?: boolean;
/*
* Should we automatically restore the window to full screen,
* if it was last closed full screen. Defaults to true
*/
fullScreen?: boolean;
}
}
declare module 'electron-window-state' {
/*
* Load the previous state with fallback to defaults
*/
function windowStateKeeper(opts: ElectronWindowState.WindowStateKeeperOptions): ElectronWindowState.WindowState;
export = windowStateKeeper;
}