summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-08 20:25:54 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-08 20:25:54 +1000
commitc214b3c5d6cf48ed719e9c13a4f5bda4dc7ad107 (patch)
treedd8078ebde032078ccab26f02350c0d7ae50bfb3 /services
parentcolours: fix switching (diff)
downloadcaelestia-shell-c214b3c5d6cf48ed719e9c13a4f5bda4dc7ad107.tar.gz
caelestia-shell-c214b3c5d6cf48ed719e9c13a4f5bda4dc7ad107.tar.bz2
caelestia-shell-c214b3c5d6cf48ed719e9c13a4f5bda4dc7ad107.zip
feat: add ipc commands for stuff
Diffstat (limited to 'services')
-rw-r--r--services/Notifs.qml10
-rw-r--r--services/Players.qml38
-rw-r--r--services/Wallpapers.qml18
3 files changed, 65 insertions, 1 deletions
diff --git a/services/Notifs.qml b/services/Notifs.qml
index de53d89..4acd56f 100644
--- a/services/Notifs.qml
+++ b/services/Notifs.qml
@@ -4,6 +4,7 @@ pragma ComponentBehavior: Bound
import "root:/widgets"
import "root:/config"
import Quickshell
+import Quickshell.Io
import Quickshell.Services.Notifications
import QtQuick
@@ -42,6 +43,15 @@ Singleton {
}
}
+ IpcHandler {
+ target: "notifs"
+
+ function clear(): void {
+ for (const notif of root.list)
+ notif.popup = false;
+ }
+ }
+
component Notif: QtObject {
id: notif
diff --git a/services/Players.qml b/services/Players.qml
index cbaf550..e9a3de4 100644
--- a/services/Players.qml
+++ b/services/Players.qml
@@ -55,5 +55,43 @@ Singleton {
const active = root.active;
return active ? active[prop] ?? "Invalid property" : "No active player";
}
+
+ function list(): string {
+ return root.list.map(p => p.identity).join("\n");
+ }
+
+ function play(): void {
+ const active = root.active;
+ if (active?.canPlay)
+ active.play();
+ }
+
+ function pause(): void {
+ const active = root.active;
+ if (active?.canPause)
+ active.pause();
+ }
+
+ function playPause(): void {
+ const active = root.active;
+ if (active?.canTogglePlaying)
+ active.togglePlaying();
+ }
+
+ function previous(): void {
+ const active = root.active;
+ if (active?.canGoPrevious)
+ active.previous();
+ }
+
+ function next(): void {
+ const active = root.active;
+ if (active?.canGoNext)
+ active.next();
+ }
+
+ function stop(): void {
+ root.active?.stop();
+ }
}
}
diff --git a/services/Wallpapers.qml b/services/Wallpapers.qml
index 0b2efa0..4d7b179 100644
--- a/services/Wallpapers.qml
+++ b/services/Wallpapers.qml
@@ -51,6 +51,22 @@ Singleton {
reloadableId: "wallpapers"
+ IpcHandler {
+ target: "wallpaper"
+
+ function get(): string {
+ return root.actualCurrent;
+ }
+
+ function set(path: string): void {
+ root.setWallpaper(path);
+ }
+
+ function list(): string {
+ return root.list.map(w => w.path).join("\n");
+ }
+ }
+
FileView {
path: root.currentNamePath
watchChanges: true
@@ -76,7 +92,7 @@ Singleton {
property string path
- command: ["caelestia", "wallpaper", "-f", path]
+ command: ["caelestia", "wallpaper", "-Q", "-f", path]
}
Process {