From 96942d5ff38698513f0330618073dbdf2af1bd59 Mon Sep 17 00:00:00 2001 From: Evertiro Date: Fri, 16 Jan 2026 23:58:06 -0600 Subject: sysinfo: allow overriding OS icon (#1091) * Allow overriding OS icon Signed-off-by: Dan Griffiths * Support icons and live reloading Signed-off-by: Dan Griffiths * isDefaultLogo should default to true Signed-off-by: Dan Griffiths --------- Signed-off-by: Dan Griffiths --- config/Config.qml | 1 + config/GeneralConfig.qml | 1 + utils/SysInfo.qml | 18 +++++++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/config/Config.qml b/config/Config.qml index b875eef..45717d1 100644 --- a/config/Config.qml +++ b/config/Config.qml @@ -126,6 +126,7 @@ Singleton { function serializeGeneral(): var { return { + logo: general.logo, apps: { terminal: general.apps.terminal, audio: general.apps.audio, diff --git a/config/GeneralConfig.qml b/config/GeneralConfig.qml index eecca01..52ef0de 100644 --- a/config/GeneralConfig.qml +++ b/config/GeneralConfig.qml @@ -1,6 +1,7 @@ import Quickshell.Io JsonObject { + property string logo: "" property Apps apps: Apps {} property Idle idle: Idle {} property Battery battery: Battery {} diff --git a/utils/SysInfo.qml b/utils/SysInfo.qml index ab2699d..19aa4a7 100644 --- a/utils/SysInfo.qml +++ b/utils/SysInfo.qml @@ -1,5 +1,7 @@ pragma Singleton +import qs.config +import qs.utils import Quickshell import Quickshell.Io import QtQuick @@ -34,13 +36,27 @@ Singleton { root.osIdLike = fd("ID_LIKE").split(" "); const logo = Quickshell.iconPath(fd("LOGO"), true); - if (logo) { + if (Config.general.logo === "caelestia") { + root.osLogo = Qt.resolvedUrl(`${Quickshell.shellDir}/assets/logo.svg`); + root.isDefaultLogo = true; + } else if (Config.general.logo) { + root.osLogo = Quickshell.iconPath(Config.general.logo, true) || "file://" + Paths.absolutePath(Config.general.logo); + root.isDefaultLogo = false; + } else if (logo) { root.osLogo = logo; root.isDefaultLogo = false; } } } + Connections { + target: Config.general + + function onLogoChanged(): void { + osRelease.reload(); + } + } + Timer { running: true repeat: true -- cgit v1.2.3-freya