diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2024-01-31 19:08:17 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2024-01-31 19:08:17 +0100 |
commit | 2a2db70bedf0c4a96282e417be433d2f23f6c465 (patch) | |
tree | febd31ea544a376d1fd04c0e830463d31d028dd9 /src/notifications.cpp | |
parent | d8debd706fe92de09e5c654c4ea2cc5dd5ce0529 (diff) | |
parent | 30b2de458752ad0855b508eb2f8ffeee85628cea (diff) | |
download | ayatana-indicator-datetime-2a2db70bedf0c4a96282e417be433d2f23f6c465.tar.gz ayatana-indicator-datetime-2a2db70bedf0c4a96282e417be433d2f23f6c465.tar.bz2 ayatana-indicator-datetime-2a2db70bedf0c4a96282e417be433d2f23f6c465.zip |
Merge branch 'personal/peat-psuwit/bring-back-lomiri-hints'
Attributes GH PR #115: https://github.com/AyatanaIndicators/ayatana-indicator-datetime/pull/115
Diffstat (limited to 'src/notifications.cpp')
-rw-r--r-- | src/notifications.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/notifications.cpp b/src/notifications.cpp index b962e68..4049851 100644 --- a/src/notifications.cpp +++ b/src/notifications.cpp @@ -199,6 +199,13 @@ public: return server_caps().count("actions") != 0; } +#ifdef LOMIRI_FEATURES_ENABLED + bool requires_hint_lomiri_timeout() const + { + return server_caps().count(HINT_LOMIRI_TIMEOUT) != 0; + } +#endif + void close_all () { // call close() on all our keys @@ -249,6 +256,14 @@ public: const auto& d= info.m_duration; auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(d); notify_notification_set_timeout (nn.get (), ms.count ()); +#ifdef LOMIRI_FEATURES_ENABLED + if (requires_hint_lomiri_timeout()) { + // Lomiri has its own logic regarding timeout. + notify_notification_set_hint (nn.get(), + HINT_LOMIRI_TIMEOUT, + g_variant_new_int32(ms.count())); + } +#endif } for (const auto& hint : info.m_string_hints) @@ -509,6 +524,10 @@ private: // server capabilities. // as the name indicates, don't use this directly: use server_caps() instead mutable std::set<std::string> m_lazy_caps; + +#ifdef LOMIRI_FEATURES_ENABLED + static constexpr char const * HINT_LOMIRI_TIMEOUT {"x-lomiri-snap-decisions-timeout"}; +#endif }; /*** |