From f9e65c6b5b80becc2dba624f44def98d9eb0d5f8 Mon Sep 17 00:00:00 2001 From: retrozinndev Date: Tue, 11 Nov 2025 18:34:39 -0300 Subject: [PATCH] :sparkles: feat(notification): dismiss popup on unhover if set on config --- src/widget/Notification.tsx | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/widget/Notification.tsx b/src/widget/Notification.tsx index a2cd375..644469c 100644 --- a/src/widget/Notification.tsx +++ b/src/widget/Notification.tsx @@ -9,6 +9,7 @@ import GObject from "ags/gobject"; import AstalNotifd from "gi://AstalNotifd"; import Pango from "gi://Pango?version=1.0"; import GLib from "gi://GLib?version=2.0"; +import { generalConfig } from "../config"; function getNotificationImage(notif: AstalNotifd.Notification|HistoryNotification): (string|undefined) { @@ -51,9 +52,23 @@ export function NotificationWidget({ notification, actionClicked, holdOnHover, s holdOnHover && Notifications.getDefault().holdNotification(notification.id) - } onLeave={() => holdOnHover && - Notifications.getDefault().releaseNotification(notification.id) - } + } onLeave={() => { + if(!holdOnHover) + return; + + const dismissOnUnhover = generalConfig + .getProperty("notifications.dismiss_on_unhover", "boolean"); + + if(dismissOnUnhover) { + setTimeout(() => + Notifications.getDefault().removeNotification(notification.id), + 600); + + return; + } + + Notifications.getDefault().releaseNotification(notification.id); + }} /> gesture.get_current_button() === Gdk.BUTTON_PRIMARY &&