summaryrefslogtreecommitdiff
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/funcs.ts10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/config/funcs.ts b/src/config/funcs.ts
index 473c502..93a8ef5 100644
--- a/src/config/funcs.ts
+++ b/src/config/funcs.ts
@@ -1,4 +1,4 @@
-import { GLib, monitorFile, readFileAsync, Variable } from "astal";
+import { GLib, monitorFile, readFileAsync, Variable, writeFileAsync } from "astal";
import config from ".";
import { loadStyleAsync } from "../../app";
import defaults from "./defaults";
@@ -92,3 +92,11 @@ export const initConfig = () => {
monitorFile(CONFIG, () => updateConfig().catch(e => console.warn(`Invalid config: ${e}`)));
updateConfig().catch(e => console.warn(`Invalid config: ${e}`));
};
+
+export const setConfig = async (path: string, value: any) => {
+ const conf = JSON.parse(await readFileAsync(CONFIG));
+ let obj = conf;
+ for (const p of path.split(".").slice(0, -1)) obj = obj[p];
+ obj[path.split(".").at(-1)!] = value;
+ await writeFileAsync(CONFIG, JSON.stringify(conf, null, 4));
+};