-
Notifications
You must be signed in to change notification settings - Fork 0
/
renderer.js
58 lines (50 loc) · 1.94 KB
/
renderer.js
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
const remote = require('electron').remote;
(function handleWindowControls() {
// When document has loaded, initialise
document.onreadystatechange = () => {
if (document.readyState == "complete") {
init();
}
};
function init() {
let window = remote.getCurrentWindow();
const minButton = document.getElementById('min-button'),
maxButton = document.getElementById('max-button'),
restoreButton = document.getElementById('restore-button'),
closeButton = document.getElementById('close-button');
minButton.addEventListener("click", event => {
window = remote.getCurrentWindow();
window.minimize();
});
maxButton.addEventListener("click", event => {
window = remote.getCurrentWindow();
window.maximize();
toggleMaxRestoreButtons();
});
restoreButton.addEventListener("click", event => {
window = remote.getCurrentWindow();
window.unmaximize();
toggleMaxRestoreButtons();
});
// Toggle maximise/restore buttons when maximisation/unmaximisation
// occurs by means other than button clicks e.g. double-clicking
// the title bar:
toggleMaxRestoreButtons();
window.on('maximize', toggleMaxRestoreButtons);
window.on('unmaximize', toggleMaxRestoreButtons);
closeButton.addEventListener("click", event => {
window = remote.getCurrentWindow();
window.close();
});
function toggleMaxRestoreButtons() {
window = remote.getCurrentWindow();
if (window.isMaximized()) {
maxButton.style.display = "none";
restoreButton.style.display = "flex";
} else {
restoreButton.style.display = "none";
maxButton.style.display = "flex";
}
}
}
})();