20 Commits

Author SHA1 Message Date
Benedikt Heine
03c8301c26 Free old notifications when replaced
Do not push old notifications to history, as there would be multiple
notifications around with the same ID.
2017-11-15 17:10:56 +01:00
Benedikt Heine
1162f53f8c Change queues_stack_duplicate signature to bool 2017-11-15 17:10:56 +01:00
Benedikt Heine
7a057b0b2e Close old notification when stacking
Notification spec prohibits to reuse notification IDs (unless uint32 is
exhausted). Therefore returning the same ID twice must not happen.

Sending a signal, that the old notification timed out makes most sense.
It wasn't closed by the user, nor by a CloseNotification call either.
When we stack notifications, no interaction happened (the equivalent
of timing out).
2017-11-15 14:39:43 +01:00
Nikos Tsipinakis
62e50289f0
Merge pull request #425 from bebehei/memory-leak_history-ignore
Free notifications ignored in history
2017-11-07 13:53:22 +02:00
Benedikt Heine
b7677affeb Free notifications ignored in history
Notifications having set the history_ignore hint (and by default
also transient notifications) have not been freed.
2017-11-07 12:33:58 +01:00
Benedikt Heine
1f4d03af9c Fixup fields to count in monotonic usec time 2017-10-31 12:53:39 +01:00
Benedikt Heine
b57483416e Remove command handling from notification_init 2017-10-29 20:38:40 +01:00
Benedikt Heine
616b8a1758 Rename queue to waiting
This gives all three queues unique names makes it easier to trace back,
which queue should hold which notifications.
2017-10-29 20:38:40 +01:00
Benedikt Heine
a536e3f60b Force management of queues to queues.c 2017-10-29 20:38:40 +01:00
Benedikt Heine
e3881766c0 Refactor history_* functions to match queues namespace 2017-10-29 20:38:40 +01:00
Benedikt Heine
38e4bbb7bb Refactor notification_* functions to match queues namespace 2017-10-29 20:38:40 +01:00
Benedikt Heine
12fa9d6ce1 Move update_lists and check_timeouts to queues.c
Also refactor the names to match the namespace.
2017-10-29 20:38:40 +01:00
Benedikt Heine
c70da444a9 Move pause_display to queues.c
Hint for dbus.c lines (134,138):

pause_display => (displayed->length == 0)
2017-10-29 20:38:40 +01:00
Benedikt Heine
59ac6d0f88 Move get_sleep_time to queues.c 2017-10-29 20:38:40 +01:00
Benedikt Heine
3fab4c470b Increment id counter only for displayed notifications
Previously for every notification (also stacked ones), a new
notification id was used, even if the notification got discarded.
2017-10-29 20:38:40 +01:00
Benedikt Heine
f869175d0d Move id assignment to separate function in queues.c
Move all id-changing functions out of notification_init and handle this
in queues.c

Also use stack_duplicates in combination with replacement of
notifications correctly. Fixes #404 (issue not found)
2017-10-29 20:38:40 +01:00
Benedikt Heine
af9f6b8b7d Move maximum notification display count to x11
Decouple the x11 stuff from dunst.c, to be able to push update_lists to
queues.c in the next commit
2017-10-29 20:38:40 +01:00
Benedikt Heine
7110734b6e Move queue initialization to queues.c 2017-10-29 20:38:40 +01:00
Benedikt Heine
7f335b79d2 Uncouple dunst.h from queues.c again 2017-10-29 20:38:40 +01:00
Benedikt Heine
a7003e3616 Refactor: Move queue specific methods to queues.c 2017-10-29 20:38:40 +01:00