diff --git a/quickshell/Common/SettingsData.qml b/quickshell/Common/SettingsData.qml index 5619f7543..e74a583a5 100644 --- a/quickshell/Common/SettingsData.qml +++ b/quickshell/Common/SettingsData.qml @@ -839,6 +839,7 @@ Singleton { property bool notificationOverlayEnabled: false property bool notificationPopupShadowEnabled: true + property bool notificationPopupBgDisabled: false property bool notificationPopupPrivacyMode: false property int overviewRows: 2 property int overviewColumns: 5 diff --git a/quickshell/Common/settings/SettingsSpec.js b/quickshell/Common/settings/SettingsSpec.js index 97570e2fc..dd7a8f9f2 100644 --- a/quickshell/Common/settings/SettingsSpec.js +++ b/quickshell/Common/settings/SettingsSpec.js @@ -426,6 +426,7 @@ var SPEC = { notificationOverlayEnabled: { def: false }, notificationPopupShadowEnabled: { def: true }, + notificationPopupBgDisabled: { def: false }, notificationPopupPrivacyMode: { def: false }, overviewRows: { def: 2, persist: false }, overviewColumns: { def: 5, persist: false }, diff --git a/quickshell/Modules/Notifications/Popup/NotificationPopup.qml b/quickshell/Modules/Notifications/Popup/NotificationPopup.qml index acd897f24..9f4df6b4b 100644 --- a/quickshell/Modules/Notifications/Popup/NotificationPopup.qml +++ b/quickshell/Modules/Notifications/Popup/NotificationPopup.qml @@ -647,7 +647,9 @@ PanelWindow { sourceWidth: Math.max(0, content.width - (content.cardInset * 2)) sourceHeight: Math.max(0, content.height - (content.cardInset * 2)) targetRadius: win.connectedFrameMode ? Theme.connectedSurfaceRadius : Theme.cornerRadius - targetColor: win.connectedFrameMode ? Theme.floatingSurface : Theme.readableSurface + targetColor: (win.connectedFrameMode && SettingsData.notificationPopupBgDisabled) + ? "transparent" + : (win.connectedFrameMode ? Theme.floatingSurface : Theme.readableSurface) borderColor: win.notificationData && win.notificationData.urgency === NotificationUrgency.Critical ? Theme.withAlpha(Theme.primary, 0.3) : Theme.withAlpha(Theme.outline, 0.08) borderWidth: win.notificationData && win.notificationData.urgency === NotificationUrgency.Critical ? 2 : 0 } diff --git a/quickshell/Modules/Settings/NotificationsTab.qml b/quickshell/Modules/Settings/NotificationsTab.qml index 409463292..2101140a1 100644 --- a/quickshell/Modules/Settings/NotificationsTab.qml +++ b/quickshell/Modules/Settings/NotificationsTab.qml @@ -330,6 +330,16 @@ Item { onToggled: checked => SettingsData.set("notificationPopupShadowEnabled", checked) } + SettingsToggleRow { + settingKey: "notificationPopupBgDisabled" + visible: SettingsData.connectedFrameModeActive + tags: ["notification", "popup", "background", "color", "fill", "transparent", "blur"] + text: I18n.tr("Disable Background Fill") + description: I18n.tr("Render notification popups with no fill color, letting blur and border show through.") + checked: SettingsData.notificationPopupBgDisabled + onToggled: checked => SettingsData.set("notificationPopupBgDisabled", checked) + } + SettingsToggleRow { settingKey: "notificationPopupPrivacyMode" tags: ["notification", "popup", "privacy", "body", "content", "hide"]