From 36aac876cca81c992b7d412d3639ac56fd25bd02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AB=E5=A5=88=E8=A6=8B=20=E3=83=AC=E3=82=A4?= Date: Tue, 31 Mar 2026 10:59:16 +0530 Subject: [PATCH] feat: add option to change notif dock placeholder (#1190) * config: added option to change NotifDock Pictures * NotifDock: change config option `notifDockPic` to `noNotifsPic` and similar for lockscreen too * lockscreenNoNotifsPic -> lockNoNotifsPic * fix lint --------- Co-authored-by: Soramane <61896496+soramanew@users.noreply.github.com> --- README.md | 2 ++ config/Config.qml | 4 +++- config/UserPaths.qml | 2 ++ modules/controlcenter/notifications/NotificationsPane.qml | 6 +++--- modules/lock/NotifDock.qml | 3 ++- modules/sidebar/NotifDock.qml | 4 ++-- 6 files changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0c96b29f..43d04fb1 100644 --- a/README.md +++ b/README.md @@ -600,6 +600,8 @@ default, you must create it manually. "paths": { "mediaGif": "root:/assets/bongocat.gif", "sessionGif": "root:/assets/kurukuru.gif", + "noNotifsPic": "root:/assets/dino.png", + "lockNoNotifsPic": "root:/assets/dino.png", "wallpaperDir": "~/Pictures/Wallpapers", "lyricsDir": "~/Music/lyrics" }, diff --git a/config/Config.qml b/config/Config.qml index df684b42..cdfd7123 100644 --- a/config/Config.qml +++ b/config/Config.qml @@ -394,7 +394,9 @@ Singleton { wallpaperDir: paths.wallpaperDir, lyricsDir: paths.lyricsDir, sessionGif: paths.sessionGif, - mediaGif: paths.mediaGif + mediaGif: paths.mediaGif, + noNotifsPic: paths.noNotifsPic, + lockNoNotifsPic: paths.lockNoNotifsPic }; } diff --git a/config/UserPaths.qml b/config/UserPaths.qml index b7a2e34b..3726017c 100644 --- a/config/UserPaths.qml +++ b/config/UserPaths.qml @@ -6,4 +6,6 @@ JsonObject { property string lyricsDir: `${Paths.home}/Music/lyrics/` property string sessionGif: "root:/assets/kurukuru.gif" property string mediaGif: "root:/assets/bongocat.gif" + property string noNotifsPic: "root:/assets/dino.png" + property string lockNoNotifsPic: "root:/assets/dino.png" } diff --git a/modules/controlcenter/notifications/NotificationsPane.qml b/modules/controlcenter/notifications/NotificationsPane.qml index 41920f69..8d58e9e8 100644 --- a/modules/controlcenter/notifications/NotificationsPane.qml +++ b/modules/controlcenter/notifications/NotificationsPane.qml @@ -1,15 +1,15 @@ pragma ComponentBehavior: Bound +import ".." +import "../components" import QtQuick import QtQuick.Layouts import Quickshell import Quickshell.Widgets -import ".." -import "../components" import qs.components +import qs.components.containers import qs.components.controls import qs.components.effects -import qs.components.containers import qs.services import qs.config diff --git a/modules/lock/NotifDock.qml b/modules/lock/NotifDock.qml index 62439d0c..50fe2153 100644 --- a/modules/lock/NotifDock.qml +++ b/modules/lock/NotifDock.qml @@ -9,6 +9,7 @@ import qs.components.containers import qs.components.effects import qs.services import qs.config +import qs.utils ColumnLayout { id: root @@ -49,7 +50,7 @@ ColumnLayout { Image { asynchronous: true - source: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/dino.png`) + source: Paths.absolutePath(Config.paths.lockNoNotifsPic) fillMode: Image.PreserveAspectFit sourceSize.width: clipRect.width * 0.8 diff --git a/modules/sidebar/NotifDock.qml b/modules/sidebar/NotifDock.qml index f041cc9b..9c677f7e 100644 --- a/modules/sidebar/NotifDock.qml +++ b/modules/sidebar/NotifDock.qml @@ -2,7 +2,6 @@ pragma ComponentBehavior: Bound import QtQuick import QtQuick.Layouts -import Quickshell import Quickshell.Widgets import qs.components import qs.components.containers @@ -10,6 +9,7 @@ import qs.components.controls import qs.components.effects import qs.services import qs.config +import qs.utils Item { id: root @@ -96,7 +96,7 @@ Item { Image { asynchronous: true - source: Quickshell.shellPath("assets/dino.png") + source: Paths.absolutePath(Config.paths.noNotifsPic) fillMode: Image.PreserveAspectFit sourceSize.width: clipRect.width * 0.8