diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-25 18:28:25 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-25 18:28:25 +1000 |
| commit | fbb58e3e1dcd08786afb46740cd18e09dcb51d1e (patch) | |
| tree | d4ca6d988b25629d2e2db0a062d276b46075fc0c | |
| parent | lock: add session buttons (diff) | |
| download | caelestia-shell-fbb58e3e1dcd08786afb46740cd18e09dcb51d1e.tar.gz caelestia-shell-fbb58e3e1dcd08786afb46740cd18e09dcb51d1e.tar.bz2 caelestia-shell-fbb58e3e1dcd08786afb46740cd18e09dcb51d1e.zip | |
internal: move notif icon guessing to utils
| -rw-r--r-- | modules/notifications/Notification.qml | 30 | ||||
| -rw-r--r-- | utils/Icons.qml | 29 |
2 files changed, 31 insertions, 28 deletions
diff --git a/modules/notifications/Notification.qml b/modules/notifications/Notification.qml index fb8d864..0d3aab6 100644 --- a/modules/notifications/Notification.qml +++ b/modules/notifications/Notification.qml @@ -3,6 +3,7 @@ pragma ComponentBehavior: Bound import "root:/widgets" import "root:/services" import "root:/config" +import "root:/utils" import Quickshell import Quickshell.Widgets import Quickshell.Services.Notifications @@ -181,34 +182,7 @@ StyledRect { anchors.verticalCenterOffset: Appearance.font.size.large * 0.02 sourceComponent: MaterialIcon { - text: { - const summary = root.modelData.summary.toLowerCase(); - if (summary.includes("reboot")) - return "restart_alt"; - if (summary.includes("recording")) - return "screen_record"; - if (summary.includes("battery")) - return "power"; - if (summary.includes("screenshot")) - return "screenshot_monitor"; - if (summary.includes("welcome")) - return "waving_hand"; - if (summary.includes("time") || summary.includes("a break")) - return "schedule"; - if (summary.includes("installed")) - return "download"; - if (summary.includes("update")) - return "update"; - if (summary.includes("unable to")) - return "deployed_code_alert"; - if (summary.includes("profile")) - return "person"; - if (summary.includes("file")) - return "folder_copy"; - if (root.modelData.urgency === NotificationUrgency.Critical) - return "release_alert"; - return "chat"; - } + text: Icons.getNotifIcon(root.modelData.summary.toLowerCase(), root.modelData.urgency) color: root.modelData.urgency === NotificationUrgency.Critical ? Colours.palette.m3onError : root.modelData.urgency === NotificationUrgency.Low ? Colours.palette.m3onSurface : Colours.palette.m3onTertiaryContainer font.pointSize: Appearance.font.size.large diff --git a/utils/Icons.qml b/utils/Icons.qml index 078ab2d..96ad194 100644 --- a/utils/Icons.qml +++ b/utils/Icons.qml @@ -2,6 +2,7 @@ pragma Singleton import Quickshell import Quickshell.Io +import Quickshell.Services.Notifications Singleton { id: root @@ -202,6 +203,34 @@ Singleton { return "air"; } + function getNotifIcon(summary: string, urgency: int): string { + if (summary.includes("reboot")) + return "restart_alt"; + if (summary.includes("recording")) + return "screen_record"; + if (summary.includes("battery")) + return "power"; + if (summary.includes("screenshot")) + return "screenshot_monitor"; + if (summary.includes("welcome")) + return "waving_hand"; + if (summary.includes("time") || summary.includes("a break")) + return "schedule"; + if (summary.includes("installed")) + return "download"; + if (summary.includes("update")) + return "update"; + if (summary.includes("unable to")) + return "deployed_code_alert"; + if (summary.includes("profile")) + return "person"; + if (summary.includes("file")) + return "folder_copy"; + if (urgency === NotificationUrgency.Critical) + return "release_alert"; + return "chat"; + } + FileView { path: "/etc/os-release" onLoaded: { |