From 379f4f99337742a2f9cd9f5b2c37c3f8493849dc Mon Sep 17 00:00:00 2001 From: bbedward Date: Fri, 1 Aug 2025 13:57:49 -0400 Subject: [PATCH] add settings IPC --- Common/Prefs.qml | 2 +- Modals/SettingsModal.qml | 24 +++++++++++++++++++++++- README.md | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Common/Prefs.qml b/Common/Prefs.qml index 1aae3f92..f72dcc64 100644 --- a/Common/Prefs.qml +++ b/Common/Prefs.qml @@ -973,7 +973,7 @@ Singleton { return "dark" } - function get(): string { + function getMode(): string { return root.isLightMode ? "light" : "dark" } } diff --git a/Modals/SettingsModal.qml b/Modals/SettingsModal.qml index c1a5336e..ae39531d 100644 --- a/Modals/SettingsModal.qml +++ b/Modals/SettingsModal.qml @@ -1,5 +1,6 @@ pragma ComponentBehavior: Bound +import Quickshell.Io import QtQuick import QtQuick.Controls import qs.Common @@ -112,7 +113,7 @@ DankModal { anchors.fill: parent active: settingsTabBar.currentIndex === 0 visible: active - asynchronous: true + asynchronous: false sourceComponent: Component { PersonalizationTab {} } @@ -169,4 +170,25 @@ DankModal { } + IpcHandler { + function open() { + console.log("SettingsModal: IPC open() called"); + settingsModal.settingsVisible = true; + return "SETTINGS_OPEN_SUCCESS"; + } + + function close() { + console.log("SettingsModal: IPC close() called"); + settingsModal.settingsVisible = false; + return "SETTINGS_CLOSE_SUCCESS"; + } + + function toggle() { + console.log("SettingsModal: IPC toggle() called"); + settingsModal.settingsVisible = !settingsModal.settingsVisible; + return "SETTINGS_TOGGLE_SUCCESS"; + } + + target: "settings" + } } diff --git a/README.md b/README.md index 460310c6..96dd3af8 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,7 @@ qs -c DankMaterialShell ipc call [parameters] | `spotlight toggle` | Toggle application launcher | | `clipboard toggle` | Toggle clipboard history | | `processlist toggle` | Toggle process manager | +| `settings toggle` | Toggle settings | | `lock lock` | Activate lockscreen | #### Media Controls