mirror of
https://github.com/smartfrigde/armcord.git
synced 2024-08-14 23:56:58 +00:00
add multi instance
This commit is contained in:
parent
5ec56c8cc1
commit
831d45dc45
7 changed files with 44 additions and 6 deletions
|
@ -7,6 +7,7 @@ import {
|
|||
checkIfConfigExists,
|
||||
firstRun,
|
||||
getConfig,
|
||||
getConfigSync,
|
||||
injectElectronFlags,
|
||||
installModLoader,
|
||||
modInstallState,
|
||||
|
@ -54,10 +55,12 @@ async function args(): Promise<void> {
|
|||
}
|
||||
}
|
||||
args(); // i want my top level awaits
|
||||
if (!app.requestSingleInstanceLock()) {
|
||||
if (!app.requestSingleInstanceLock() && getConfigSync("multiInstance") == (false ?? undefined)) {
|
||||
// if value isn't set after 3.2.4
|
||||
// kill if 2nd instance
|
||||
app.quit();
|
||||
} else {
|
||||
app.commandLine.appendSwitch("disable-features", "WidgetLayering"); // fix dev tools layers
|
||||
// Your data now belongs to CCP
|
||||
crashReporter.start({uploadToServer: false});
|
||||
// enable webrtc capturer for wayland
|
||||
|
|
|
@ -80,6 +80,14 @@
|
|||
</div>
|
||||
<br />
|
||||
|
||||
<div class="switch acMultiInstance">
|
||||
<label class="header" data-string="settings-MultiInstance"></label>
|
||||
<input id="mInstance" class="tgl tgl-light left" data-setting="multiInstance" type="checkbox" />
|
||||
<label class="tgl-btn left" for="mInstance"></label>
|
||||
<p class="description" data-string="settings-MultiInstance-desc"></p>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<div class="switch acWebsocket">
|
||||
<label class="header" data-string="settings-invitewebsocket"></label>
|
||||
<input id="websocket" class="tgl tgl-light left" data-setting="inviteWebsocket" type="checkbox" />
|
||||
|
|
|
@ -140,6 +140,7 @@
|
|||
disableAutogain: false,
|
||||
mods: options.mod,
|
||||
dynamicIcon: false,
|
||||
multiInstance: false,
|
||||
useLegacyCapturer: false,
|
||||
tray: /true/i.test(document.getElementById("tray").value),
|
||||
startMinimized: false,
|
||||
|
|
|
@ -46,6 +46,7 @@ export function setup(): void {
|
|||
automaticPatches: false,
|
||||
keybinds: [],
|
||||
alternativePaste: false,
|
||||
multiInstance: false,
|
||||
mods: "none",
|
||||
spellcheck: true,
|
||||
performanceMode: "none",
|
||||
|
@ -253,6 +254,7 @@ export interface Settings {
|
|||
minimizeToTray: boolean;
|
||||
automaticPatches: boolean;
|
||||
alternativePaste: boolean;
|
||||
multiInstance: boolean;
|
||||
spellcheck: boolean;
|
||||
mods: string;
|
||||
dynamicIcon: boolean;
|
||||
|
@ -282,6 +284,12 @@ export async function getConfig<K extends keyof Settings>(object: K): Promise<Se
|
|||
console.log(`[Config manager] ${object}: ${returndata[object]}`);
|
||||
return returndata[object];
|
||||
}
|
||||
export function getConfigSync<K extends keyof Settings>(object: K) {
|
||||
let rawdata = fs.readFileSync(getConfigLocation(), "utf-8");
|
||||
let returndata = JSON.parse(rawdata);
|
||||
console.log(`[Config manager] ${object}: ${returndata[object]}`);
|
||||
return returndata[object];
|
||||
}
|
||||
export async function setConfig<K extends keyof Settings>(object: K, toSet: Settings[K]): Promise<void> {
|
||||
let rawdata = fs.readFileSync(getConfigLocation(), "utf-8");
|
||||
let parsed = JSON.parse(rawdata);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue