71 lines
2.4 KiB
QML
71 lines
2.4 KiB
QML
import Quickshell
|
|
import Quickshell.Io
|
|
import QtQuick
|
|
|
|
import qs.config
|
|
import qs.services
|
|
|
|
ShellRoot {
|
|
Component.onCompleted: {
|
|
Wallpaper.outputOverride = ["DP-2", "HDMI-A-1"];
|
|
Wallpaper.candidateOverride = ["/images/a.jpg", "/images/b.jpg", "/images/c.jpg"];
|
|
Wallpaper.startupRestoreEnabled = false;
|
|
Wallpaper.slideshowIntervalOverrideMs = 60000;
|
|
Wallpaper.available = ["/images/a.jpg", "/images/b.jpg", "/images/c.jpg"];
|
|
}
|
|
|
|
IpcHandler {
|
|
target: "wallpaper-service-test"
|
|
|
|
function applyPerMonitor(): bool {
|
|
return Wallpaper.applyPolicy({
|
|
mode: "per-monitor",
|
|
globalPath: "/images/a.jpg",
|
|
collection: [],
|
|
intervalMinutes: 30,
|
|
shuffle: true,
|
|
assignments: { "HDMI-A-1": "/images/b.jpg" },
|
|
slideshowPath: ""
|
|
}, true);
|
|
}
|
|
|
|
function applySingle(path: string): bool {
|
|
return Wallpaper.set(path);
|
|
}
|
|
|
|
function seedSlideshow(paths: string, shuffle: bool): void {
|
|
DesktopPreferences.set("wallpaperMode", "slideshow");
|
|
DesktopPreferences.set("wallpaperPath", "/images/a.jpg");
|
|
DesktopPreferences.set("wallpaperSlideshowPaths", JSON.parse(paths));
|
|
DesktopPreferences.set("wallpaperShuffle", shuffle);
|
|
Wallpaper.slideshowPath = "/images/a.jpg";
|
|
Wallpaper.shuffleBag = [];
|
|
}
|
|
|
|
function advanceSlideshow(): bool {
|
|
return Wallpaper.advanceSlideshow();
|
|
}
|
|
|
|
function rapidOutputs(): void {
|
|
Wallpaper.outputOverride = ["DP-2"];
|
|
Wallpaper.outputOverride = ["HDMI-A-1"];
|
|
Wallpaper.outputOverride = ["DP-2", "HDMI-A-1"];
|
|
}
|
|
|
|
function status(): string {
|
|
return JSON.stringify({
|
|
busy: Wallpaper.busy,
|
|
lastError: Wallpaper.lastError,
|
|
activeByOutput: Wallpaper.activeByOutput,
|
|
active: Wallpaper.active,
|
|
mode: DesktopPreferences.get("wallpaperMode"),
|
|
path: DesktopPreferences.get("wallpaperPath"),
|
|
assignments: DesktopPreferences.get("wallpaperPerMonitor"),
|
|
slideshowPath: Wallpaper.slideshowPath,
|
|
shuffleBag: Wallpaper.shuffleBag,
|
|
slideshowTimerRunning: Wallpaper.slideshowTimerRunning
|
|
});
|
|
}
|
|
}
|
|
}
|