mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2025-04-19 11:12:30 +02:00
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { App } from "electron";
|
|
import { flags } from "../../constants/flags";
|
|
import { settings } from "../../constants/settings";
|
|
import { settingsStore } from "../../scripts/settings";
|
|
import { Logger } from "../logger";
|
|
|
|
/**
|
|
* Set default Electron flags
|
|
*/
|
|
export function setDefaultFlags(app: App) {
|
|
setFlag(app, "disable-seccomp-filter-sandbox");
|
|
}
|
|
|
|
/**
|
|
* Set Tidal's managed flags from the user settings
|
|
* @param app
|
|
*/
|
|
export function setManagedFlagsFromSettings(app: App) {
|
|
const flagsFromSettings = settingsStore.get(settings.flags.root);
|
|
if (flagsFromSettings) {
|
|
for (const [key, value] of Object.entries(flagsFromSettings)) {
|
|
if (value) {
|
|
flags[key].forEach((flag) => {
|
|
setFlag(app, flag.flag, flag.value);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Set a single flag for Electron
|
|
* @param app app to set it on
|
|
* @param flag flag name
|
|
* @param value value to be set for the flag
|
|
*/
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
function setFlag(app: App, flag: string, value?: any) {
|
|
Logger.log(`enabling command line option ${flag} with value ${value}`);
|
|
app.commandLine.appendSwitch(flag, value);
|
|
}
|