From 846d07d86a5ac52efadda0b0654813f094a64923 Mon Sep 17 00:00:00 2001 From: sweenu Date: Mon, 13 Jul 2026 05:57:51 +0300 Subject: [PATCH] feat(ipc): add settings dump to print full live config as JSON (#2817) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds `dms ipc call settings dump`, returning the complete live configuration via SettingsData.getCurrentSettingsJson() — the same serialization used by the read-only banner's copy button. Useful when settings.json is a read-only symlink (NixOS/home-manager): changes made in the Settings UI only exist in the running shell's memory, and this makes them retrievable from the CLI instead of only through the clipboard button in the Settings modal. Co-authored-by: Claude Fable 5 Port 1.5 --- quickshell/DMSShellIPC.qml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quickshell/DMSShellIPC.qml b/quickshell/DMSShellIPC.qml index 5aee2f6ae..187156813 100644 --- a/quickshell/DMSShellIPC.qml +++ b/quickshell/DMSShellIPC.qml @@ -1003,6 +1003,10 @@ Item { return JSON.stringify(SettingsData?.[key]); } + function dump(): string { + return SettingsData.getCurrentSettingsJson(); + } + function set(key: string, value: string): string { if (!(key in SettingsData)) { log.warn("Cannot set property, not found:", key);