Compare commits

...

4 commits

4 changed files with 10 additions and 5 deletions

View file

@ -81,6 +81,7 @@
rust-analyzer rust-analyzer
clippy clippy
rustfmt rustfmt
libnotify
]; ];
}; };
} }

View file

@ -271,7 +271,7 @@ M.HoverPanel {
const ic = notifDelegate.modelData.appIcon; const ic = notifDelegate.modelData.appIcon;
if (!ic) if (!ic)
return ""; return "";
return ic.startsWith("/") ? ic : Quickshell.iconPath(ic, "dialog-information"); return (ic.startsWith("/") || ic.startsWith("file://")) ? ic : Quickshell.iconPath(ic, "dialog-information");
} }
visible: status === Image.Ready visible: status === Image.Ready
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
@ -382,7 +382,7 @@ M.HoverPanel {
const ic = notifDelegate._notif?.appIcon; const ic = notifDelegate._notif?.appIcon;
if (!ic) if (!ic)
return ""; return "";
return ic.startsWith("/") ? ic : Quickshell.iconPath(ic, "dialog-information"); return (ic.startsWith("/") || ic.startsWith("file://")) ? ic : Quickshell.iconPath(ic, "dialog-information");
} }
visible: status === Image.Ready visible: status === Image.Ready
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
@ -437,7 +437,7 @@ M.HoverPanel {
// Actions // Actions
Row { Row {
spacing: 4 spacing: 4
visible: notifDelegate._notif?.actions && notifDelegate._notif.actions.length > 0 visible: !!(notifDelegate._notif?.actions?.length)
Repeater { Repeater {
model: notifDelegate._notif?.actions ?? [] model: notifDelegate._notif?.actions ?? []

View file

@ -168,7 +168,7 @@ PanelWindow {
const ic = popupItem.modelData.appIcon; const ic = popupItem.modelData.appIcon;
if (!ic) if (!ic)
return ""; return "";
return ic.startsWith("/") ? ic : Quickshell.iconPath(ic, "dialog-information"); return (ic.startsWith("/") || ic.startsWith("file://")) ? ic : Quickshell.iconPath(ic, "dialog-information");
} }
visible: status === Image.Ready visible: status === Image.Ready
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit

View file

@ -1,5 +1,6 @@
import QtQuick import QtQuick
import Quickshell import Quickshell
import Quickshell.Services.Notifications
import "." as M import "." as M
M.BarSection { M.BarSection {
@ -14,6 +15,8 @@ M.BarSection {
required property var bar required property var bar
readonly property bool hasUrgent: M.NotifService.list.some(n => n.urgency === NotificationUrgency.Critical && n.state !== "dismissed")
M.BarIcon { M.BarIcon {
icon: { icon: {
if (M.NotifService.dnd) if (M.NotifService.dnd)
@ -25,7 +28,8 @@ M.BarSection {
} }
M.BarLabel { M.BarLabel {
id: countLabel id: countLabel
label: M.NotifService.count > 0 ? String(M.NotifService.count) : "" label: M.NotifService.count > 0 ? String(M.NotifService.count) + (root.hasUrgent ? "!" : "") : ""
color: root.hasUrgent ? M.Theme.base08 : root.accentColor
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
transform: Scale { transform: Scale {