diff --git a/src/utils/systemnotification.cpp b/src/utils/systemnotification.cpp index 6e6eeac..7083afb 100644 --- a/src/utils/systemnotification.cpp +++ b/src/utils/systemnotification.cpp @@ -81,8 +81,13 @@ void SystemNotification::sendMessage(const QString& text, << QStringList() // actions << hintsMap // hints << timeout; // timeout - m_interface->callWithArgumentList( - QDBus::AutoDetect, QStringLiteral("Notify"), args); + // Fire-and-forget: an asynchronous call never blocks the event loop, + // even when no notification daemon answers on the session bus (e.g. + // bare startx / tiling WM sessions). The previous synchronous + // callWithArgumentList stalled the main thread for the QtDBus reply + // timeout (~25s) after every capture, freezing further captures until + // it returned. The enclosing isValid() check already guards m_interface. + m_interface->asyncCallWithArgumentList(QStringLiteral("Notify"), args); } #endif }