Skip to content

Commit 2ce8023

Browse files
committed
Split the showDevTools option into two options
You now set the mode to open DevTools in separately. The default also changed to being `undocked` as that makes the most sense for Electron apps.
1 parent 2bbe00e commit 2ce8023

2 files changed

Lines changed: 36 additions & 18 deletions

File tree

index.js

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,34 @@ const isDev = require('electron-is-dev');
66
const {app, BrowserWindow} = electron;
77
const isMacOS = process.platform === 'darwin';
88

9+
const devToolsOptions = {};
10+
11+
function toggleDevTools(win) {
12+
win = win || BrowserWindow.getFocusedWindow();
13+
14+
if (win) {
15+
const contents = win.webContents;
16+
if (contents.isDevToolsOpened()) {
17+
contents.closeDevTools();
18+
} else {
19+
contents.openDevTools(devToolsOptions);
20+
}
21+
}
22+
}
23+
924
function devTools(win) {
1025
win = win || BrowserWindow.getFocusedWindow();
1126

1227
if (win) {
13-
win.toggleDevTools();
28+
toggleDevTools(win);
1429
}
1530
}
1631

17-
function openDevTools(win, showDevTools) {
32+
function openDevTools(win) {
1833
win = win || BrowserWindow.getFocusedWindow();
1934

2035
if (win) {
21-
const mode = showDevTools === true ? undefined : showDevTools;
22-
win.webContents.openDevTools({mode});
36+
win.webContents.openDevTools(devToolsOptions);
2337
}
2438
}
2539

@@ -41,7 +55,7 @@ function inspectElements() {
4155
if (win.webContents.isDevToolsOpened()) {
4256
inspect();
4357
} else {
44-
win.webContents.on('devtools-opened', inspect);
58+
win.webContents.once('devtools-opened', inspect);
4559
win.openDevTools();
4660
}
4761
}
@@ -63,13 +77,18 @@ const addExtensionIfInstalled = (name, getPath) => {
6377
module.exports = opts => {
6478
opts = Object.assign({
6579
enabled: null,
66-
showDevTools: false
80+
showDevTools: false,
81+
devToolsMode: 'undocked'
6782
}, opts);
6883

6984
if (opts.enabled === false || (opts.enabled === null && !isDev)) {
7085
return;
7186
}
7287

88+
if (opts.devToolsMode !== 'previous') {
89+
devToolsOptions.mode = opts.devToolsMode;
90+
}
91+
7392
app.on('browser-window-created', (event, win) => {
7493
if (opts.showDevTools) {
7594
win.webContents.once('devtools-opened', () => {

readme.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,19 @@ Type: `boolean`
7777

7878
##### showDevTools
7979

80-
Type: `boolean` `string`<br>
81-
Default: `false`<br>
82-
Values: `'right'` `'bottom'` `'undocked'` `false` `true` *(Last dock state)*
80+
Type: `boolean`<br>
81+
Default: `false`
8382

8483
Show DevTools on each created `BrowserWindow`.
8584

85+
##### devToolsMode
86+
87+
Type: `string`<br>
88+
Default: `undocked`<br>
89+
Values: `undocked` `right` `bottom` `previous`
90+
91+
The dock state to open DevTools in.
92+
8693
### devTools([window])
8794

8895
Toggle DevTools for the specified `BrowserWindow` instance or the focused one.
@@ -101,7 +108,7 @@ Reload the specified `BrowserWindow` instance or the focused one.
101108
Type: `BrowserWindow`<br>
102109
Default: The focused `BrowserWindow`
103110

104-
### openDevTools([window], [showDevTools])
111+
### openDevTools([window])
105112

106113
Open DevTools for the specified `BrowserWindow` instance or the focused one.
107114

@@ -110,14 +117,6 @@ Open DevTools for the specified `BrowserWindow` instance or the focused one.
110117
Type: `BrowserWindow`<br>
111118
Default: The focused `BrowserWindow`
112119

113-
#### showDevTools
114-
115-
Type: `boolean` `string`<br>
116-
Default: `false`<br>
117-
Values: `'right'` `'bottom'` `'undocked'` `false` `true` *(last dock state)*
118-
119-
Show DevTools on each created `BrowserWindow`.
120-
121120

122121
## Related
123122

0 commit comments

Comments
 (0)