Libnotify supports a timeout parameter which allows developers to control for how long the notification will stay. Some DEs has also implemented options to create persistent notification if the value is -1 for this parameter. Which is particularly helpful in GNOME since they removed System Tray altogether. Developers can create persistent notification instead of Tray Icon if the timeout is supported.

Please add this.
shell/browser/notifications/win/windows_toast_notification.cc
#include "shell/browser/notifications/win/windows_toast_notification.h"
#include <shlobj.h>
#include <vector>
#include "base/environment.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/post_task.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "shell/browser/notifications/notification_delegate.h"
#include "shell/browser/notifications/win/notification_presenter_win.h"
#include "shell/browser/win/scoped_hstring.h"
#include "shell/common/application_info.h"
using ABI::Windows::Data::Xml::Dom::IXmlAttribute;
using ABI::Windows::Data::Xml::Dom::IXmlDocument;
using ABI::Windows::Data::Xml::Dom::IXmlElement;
using ABI::Windows::Data::Xml::Dom::IXmlNamedNodeMap;
using ABI::Windows::Data::Xml::Dom::IXmlNode;
using ABI::Windows::Data::Xml::Dom::IXmlNodeList;
using ABI::Windows::Data::Xml::Dom::IXmlText;
namespace electron {
namespace {
bool IsDebuggingNotifications() {