Add custom window preferences
This commit is contained in:
parent
799dca7e1b
commit
f8f519e882
|
@ -11,6 +11,7 @@
|
|||
import path from 'path';
|
||||
import sass from 'node-sass';
|
||||
import { BrowserWindow, dialog } from 'electron';
|
||||
import deepmerge from 'deepmerge';
|
||||
|
||||
import { FileUtils, BDIpc, Config, WindowUtils, CSSEditor, Database } from './modules';
|
||||
|
||||
|
@ -54,16 +55,32 @@ const globals = {
|
|||
|
||||
class PatchedBrowserWindow extends BrowserWindow {
|
||||
constructor(originalOptions) {
|
||||
const options = Object.assign({}, originalOptions);
|
||||
const userOptions = PatchedBrowserWindow.userWindowPreferences;
|
||||
|
||||
const options = deepmerge(originalOptions, userOptions);
|
||||
options.webPreferences = Object.assign({}, options.webPreferences);
|
||||
|
||||
// Make sure Node integration is enabled
|
||||
const originalPreloadScript = options.webPreferences.preload;
|
||||
options.webPreferences.preload = sparkplug;
|
||||
|
||||
super(options);
|
||||
|
||||
this.__bd_preload = [originalPreloadScript];
|
||||
this.__bd_preload = [originalOptions.webPreferences.preload];
|
||||
|
||||
if (userOptions.webPreferences && userOptions.webPreferences.preload) {
|
||||
this.__bd_preload.push(path.resolve(_dataPath, userOptions.webPreferences.preload));
|
||||
}
|
||||
}
|
||||
|
||||
static get userWindowPreferences() {
|
||||
try {
|
||||
const userWindowPreferences = require(path.join(_dataPath, 'window'));
|
||||
if (typeof userWindowPreferences === 'object') return userWindowPreferences;
|
||||
} catch (err) {
|
||||
console.log('[BetterDiscord] Error getting window preferences:', err);
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2964,8 +2964,7 @@
|
|||
"deepmerge": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz",
|
||||
"integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==",
|
||||
"dev": true
|
||||
"integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w=="
|
||||
},
|
||||
"default-compare": {
|
||||
"version": "1.0.0",
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
},
|
||||
"private": false,
|
||||
"dependencies": {
|
||||
"deepmerge": "^2.1.1",
|
||||
"nedb": "^1.8.0",
|
||||
"node-sass": "^4.7.2"
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue