363 Commits

Author SHA1 Message Date
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
Benedikt Heine
df56528bdc Unref GVariants after use again 2017-10-27 20:15:31 +02:00
Nikos Tsipinakis
a2575566f5 Merge pull request #418 from bebehei/microopt
Microopt
2017-10-24 06:03:58 +03:00
Benedikt Heine
e3528ef3ec Indent functions to standard 2017-10-22 10:40:39 +02:00
Benedikt Heine
2d67a5c78e Remove unused ERR macro 2017-10-22 10:40:39 +02:00
Benedikt Heine
2d7dc6fbc5 Make startup notification timeout in 10 seconds 2017-10-22 10:40:39 +02:00
Nikos Tsipinakis
3691b7e47c Merge pull request #371 from bebehei/configh
Improve usage of config.h
2017-10-21 20:25:36 +03:00
Benedikt Heine
3fc27e4004 Deprecate STATIC_CONFIG 2017-10-18 00:09:42 +02:00
Benedikt Heine
01197584ae Do not extra check g_free for null 2017-10-11 01:19:58 +02:00
Edward Betts
5f87039946 correct spelling mistake 2017-10-10 23:41:08 +01:00
Benedikt Heine
bc3c6466ca Remove LENGTH macro and replace with glib one 2017-10-10 23:11:52 +02:00
Benedikt Heine
be3636c679 Remove _GNU_SOURCE macro
After some research, the _GNU_SOURCE does not affect any function call
anymore. To avoid future failures on other systems not using glibc,
_GNU_SOURCE gets removed.
2017-10-08 02:32:37 +02:00
Benedikt Heine
7965fd3e9f Move default values into separate settings struct 2017-10-07 18:19:14 +02:00
Benedikt Heine
81ff86299f Change boundary conditions in run() 2017-10-07 17:46:24 +02:00
Benedikt Heine
1f0e8d2181 overhaul get_sleep_time 2017-10-07 17:46:24 +02:00
Benedikt Heine
5d46cd700c Add option_get_time functions 2017-10-07 17:46:24 +02:00
Benedikt Heine
956b5c6401 Use gint64 as microseconds for internal timeunit
time(NULL) is vulnerable against timeshifts by NTP, timezones,...

g_get_monotonic_time() is not, but counts its in microseconds with the
gint64 datatype. To prevent any conversion bugs, all internal
timeformats are now using a gint64 and only get converted during import
or export (DBus notification arrives, configuration reading, age
threshold display).
2017-10-07 17:46:21 +02:00
Benedikt Heine
7a02d8e48a Microoptimisation in get_sleep_time
Setting the value to INT_MAX instead of 0 allows to remove the boolean
check if value even has been set.
2017-10-07 17:45:57 +02:00
Nikos Tsipinakis
a56bdd18c1 Merge pull request #401 from bebehei/flickerless-replace
Update notification attributes upon direct replace
2017-10-06 22:32:49 +03:00
Nikos Tsipinakis
a18b4d8895 Merge pull request #402 from bebehei/unused-fields
Remove unused struct fields
2017-10-06 22:29:01 +03:00
Nikos Tsipinakis
478377815f Merge pull request #403 from bebehei/redo-354
Work around non-gnu basename implementations
2017-10-06 22:24:39 +03:00
Nikos Tsipinakis
c55308b8a7 Initialize icons before parsing the format
Since the format supports flags for including the icon name in the
notification the icon should be initialized first (and set to the
default if not set) in order for the flag to function properly.
2017-10-06 22:14:37 +03:00
Benedikt Heine
9aba546258 Work around non-gnu basename implementations
Redo #354, as it got pushed out in #365
2017-10-06 20:29:21 +02:00
Benedikt Heine
d6c1fbb556 Remove unused struct fields 2017-10-06 18:33:56 +02:00
Nikos Tsipinakis
0a3298dde4 Merge pull request #387 from bebehei/tests-for-string-append
Tests for string append
2017-10-06 18:17:50 +03:00
Benedikt Heine
e8f152b5d0 Update notification attributes upon direct replace 2017-10-06 13:31:26 +02:00
Benedikt Heine
6e654eb751 Improve usage of string_append 2017-10-06 13:13:47 +02:00
Benedikt Heine
a6301ff464 Do not concatenate empty strings with separator 2017-10-06 13:13:47 +02:00
Nikos Tsipinakis
82d544e95e Merge pull request #391 from bebehei/flickerless-replace
Replace notifications flickerless
2017-10-05 16:34:26 +03:00
Benedikt Heine
5680291c20 Fix small memory leak 2017-10-05 12:39:58 +02:00
Benedikt Heine
1533fcd782 Replace notifications flickerless
Previously, notifications had been replaced by removing the notification
out of the displayed/queue lists, redrawing the window and then adding
the new notification into the queue. This produced a flickering in
dunst.

By avoiding the overhead of closing and opening the window (simply
replacing the datapointer of the list), the flickering disappears.
2017-09-27 00:24:21 +02:00
Nikos Tsipinakis
a64cb82946 Merge pull request #388 from fhost/fhost/ellipsize
Use config.h for default ellipsize value
2017-09-26 09:32:11 +03:00
Benedikt Heine
a1781a451b Check for b value if null in string_append
This avoids "a", NULL, "sep" to come to "asep" instead of "a".
2017-09-25 03:55:19 +02:00
Benedikt Heine
41defb7c85 Break overlong argument lists 2017-09-25 02:26:11 +02:00
Benedikt Heine
554c873808 Mark constant strings as const
It's hard to trace back, which methods in option parser require freeing
the result and which prohibit it. Marking all non-freeable values as
const lets this problem solve the compiler.
2017-09-25 02:26:11 +02:00
fhost
f9f6830c71 Use config.h for default ellipsize value
Get the default value for ellipsize from config.h, instead of
setting it in two different places (in case it is not set, and in
case its value is invalid).
2017-09-24 16:53:58 +02:00
Nikos Tsipinakis
4316c85e18 Merge pull request #374 from fhost/fhost/ellipsize
Add option to control how to ellipsize truncated lines
2017-09-20 16:40:22 +03:00
Nikos Tsipinakis
ad31bb975c Merge pull request #381 from bebehei/typo-1
Rename double to int
2017-09-20 10:32:29 +03:00
fhost
f4b595240a Add option to control how to ellipsize truncated lines 2017-09-19 20:03:16 +02:00
Benedikt Heine
530eaaf5ed Rename double to int 2017-09-19 13:26:30 +02:00
Benedikt Heine
1c7f674ee0 Correct indentation 2017-09-19 00:10:36 +02:00
Benedikt Heine
e16117ca30 Use double pointers for haystack 2017-09-07 15:25:54 +02:00
Benedikt Heine
4b7f656f6e Interpret '%%' as literal '%' in format 2017-09-07 15:25:21 +02:00
Benedikt Heine
ab9bf55892 Prevent replacement of format strings in message
To replace all occuring format strings inside the msg, replace_all had
been used previously. This leads to buggy behavior, if a format string
occurs in the replaced text, as the format string will get replaced
again under certain conditions.

Introducing a pointer, which skips the already replaced parts, will
prevent doubly replacing format strings from content.

Fixes #322
2017-09-07 15:25:14 +02:00
Nikos Tsipinakis
16bbde5bf3 Merge pull request #343 from bebehei/transient-notifications
add support for transient hints
2017-09-07 14:01:19 +03:00