1030 Commits

Author SHA1 Message Date
Benedikt Heine
09c1ca7127 Pack FDN specific names into macro 2017-12-16 16:30:40 +01:00
Nikos Tsipinakis
e51ac67715
Merge pull request #453 from tsipinakis/fix-emiting-signal-on-redisplayed
Don't emit NotificationClosed signal on redisplayed notifications
2017-12-10 16:00:11 +02:00
Nikos Tsipinakis
0c8d3a4084 Don't emit NotificationClosed signal on redisplayed notifications
The signal_notification_closed function is called even when a
notification has been pulled from history and re-emits the
NotificationClosed signal, this can confuse clients since multiple such
signals are not accounted for in the spec.
2017-12-09 17:12:31 +02:00
Nikos Tsipinakis
ff6f3e496c Prefix signal functions with signal_
Make dbus function that emit a signal easier to distinguish by prefixing
them with 'signal_'.
2017-12-09 17:03:56 +02:00
Nikos Tsipinakis
85c3c08668
Merge pull request #454 from bebehei/no-dbus-conn-error
Distinguish DBus connection and name acquired error
2017-12-08 17:51:45 +02:00
Benedikt Heine
16aefbabe3 Distinguish DBus connection and name acquired error
Distinguish between a failure to connect to DBus and a failure to
connect to the actual FDN DBus path.

This is possible, because `on_name_acquired` gets its DBus connection
passed as a parameter. If this parameter is NULL, there is no connection
established and the DBus name is not lost, because another notification
daemon is running.
2017-12-07 02:37:34 +01:00
Nikos Tsipinakis
c04fce1461
Merge pull request #452 from bebehei/fail-on-missing-config
Fail when config file given via option not found
2017-12-06 16:41:44 +02:00
Benedikt Heine
48dc3d2458 Fail when config file given via option not found 2017-12-06 14:48:22 +01:00
Nikos Tsipinakis
75fddab7bd
Merge pull request #449 from bebehei/fix-notification-timeouts
Fix notification timeouts
2017-12-02 08:56:43 +02:00
Benedikt Heine
1c53ae7f9c Clean up dunst.h 2017-11-29 12:46:54 +01:00
Benedikt Heine
b7b8362175 Remove timeout_cnt
The structure is not needed, as next_timeout gets invalidated via
current time and not the amount of all timeouts.
2017-11-29 12:46:54 +01:00
Benedikt Heine
2a823eb381 Check if next_timeout is in past
When having a long running notification and an additional two shorter
notifications arrive. The short notification, which times out later,
does not timeout correctly and gets flushed only, when the long running
notification is flushed or a Focus* XEvent is sent.
2017-11-29 12:46:54 +01:00
Benedikt Heine
1fc96e9691 Call XFlush after redrawing the window
The commit 7f335b7 introduced, that specific notifications did not time
out properly. Although these had been internally closed already, X11
still displayed them.
2017-11-29 12:46:39 +01:00
Benedikt Heine
43b9c45cd8 Clearify structures in dunst:run 2017-11-26 21:17:42 +01:00
Benedikt Heine
714731e8fc
Merge pull request #447 from bebehei/image-path
Support image-path hint
2017-11-25 10:56:47 +01:00
Nikos Tsipinakis
62e8b043c7
Merge pull request #448 from bebehei/style
Style adaptions
2017-11-25 09:43:28 +02:00
Benedikt Heine
0ad63d2c2c Don't indent switch labels 2017-11-25 02:16:45 +01:00
Benedikt Heine
5b2a6e57b7 curly braces style
Curly braces should start on a new line, after a method declaration, but
should continue on the same line after a control structure.
2017-11-25 02:15:30 +01:00
Benedikt Heine
bd8fd8b1d2 Improve whitespace handling 2017-11-25 01:38:28 +01:00
Benedikt Heine
fc4f0a4238 Refactor arguments into one line
Parameters should not cover an area. All arguments should be on a single
line (either horizontally or vertically).
2017-11-25 01:32:06 +01:00
Benedikt Heine
caa63d6275 Sort includes alphabetically 2017-11-25 01:28:03 +01:00
Benedikt Heine
34ee1744dd Support image-path hint
As GApplications expose their icon via image-path hint and not via the
actual app_icon field, GApplication icons haven't been displayed before.

According to the notification spec, image-path hint should also override
the app_icon as follows:

1. image-data hint
2. image-path hint
3. app_icon parameter
2017-11-25 00:23:19 +01:00
Benedikt Heine
7191104147
Merge pull request #444 from bebehei/dunstify-utf8-icon
Set Locale in dunstify
2017-11-24 02:35:33 +01:00
Benedikt Heine
664ec413aa Set Locale in dunstify
If specifying --icon with UTF-8 characters, the g_option_context_parse
fails with an invalid byte conversion. The solution is to set the locale
explicitly.

For more info, see the GLib issue tracker:
https://bugzilla.gnome.org/show_bug.cgi?id=737137

Fixes #443
2017-11-23 11:43:52 +01:00
Benedikt Heine
6e9a805017
Merge pull request #439 from bebehei/duplicate-notifications
Duplicate notifications
2017-11-22 18:25:37 +01:00
Benedikt Heine
e84922a484
Merge pull request #440 from bebehei/enums
Use more enums
2017-11-22 18:25:19 +01:00
Nikos Tsipinakis
9382cbbd15
Merge pull request #442 from tsipinakis/dunstify-printid
Dunstify: Print id before blocking
2017-11-22 18:23:43 +02:00
Nikos Tsipinakis
51a98b8fd0 Dunstify: Print id before blocking
Print the notification id, if requested, before blocking to catch action
return or NotificationClosed signal since once of those events happens
the program will exit without further action, bypassing the id printing
logic.
2017-11-22 17:49:50 +02:00
Benedikt Heine
823665a3bd Sanitize negative urgency correctly 2017-11-21 16:19:40 +01:00
Benedikt Heine
20807a09b0 Validate closing reasons inside dbus method
Also fixes a nice off by one error. According to notification spec, the
reason 0 doesn't exist, while the undefined reason wouldn't have been
sent.
2017-11-21 16:17:47 +01:00
Nikos Tsipinakis
73eaa25690
Merge pull request #441 from bebehei/align-dunstify-args
Align columns in dunstify option list
2017-11-16 22:10:31 +02:00
Benedikt Heine
744712ad77 Use enum for close reason 2017-11-16 18:05:46 +01:00
Benedikt Heine
5f51147263 Prefix urgency enum with URG_ 2017-11-16 17:12:30 +01:00
Benedikt Heine
d91053c85e Use enum for urgency 2017-11-16 17:10:28 +01:00
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
Nikos Tsipinakis
fd81bd1908
Merge pull request #364 from SteveJones/master
Fix handling of non V1.5 XRandr.
2017-11-04 08:34:49 +02:00
Benedikt Heine
4cf9114028 Require XRandR 1.5 in pkg-config to compile
Albeit it's possible to run with XRandR extension < 1.5,
dunst needs the headers of libxrandr 1.5.
2017-11-02 15:31:53 +01:00
Benedikt Heine
1e51edc0df Fix handling of non V1.5 XRandR
Due to the way Xlib handles errors XRRGetMonitors will cause dunst to exit if
the server doesn't support version 1.5 of RandR. The check for null is
effectively dead code but in theory the number of monitors can be < 1 so treat
this as an error. Change the code to fetch the RandR version and fallback if
the version is less than 1.5 when getting monitors.

This fix was brought up by @SteveJones on GitHub
2017-11-02 15:31:19 +01:00
Nikos Tsipinakis
76857b6e7c
Merge pull request #423 from bebehei/optimize_icons
Optimize icons
2017-11-02 07:54:41 +02:00
Nikos Tsipinakis
c481760ae1
Merge pull request #424 from bebehei/timeout-fixes
Fixup fields to count in monotonic usec time
2017-11-02 07:36:23 +02:00
Nikos Tsipinakis
48fab3f887
Merge pull request #426 from bebehei/progress
Use '-1' for undefined progress
2017-11-02 07:29:29 +02:00
Benedikt Heine
11af7402fa Use '-1' for undefined progress 2017-10-31 15:58:41 +01:00
Benedikt Heine
1f4d03af9c Fixup fields to count in monotonic usec time 2017-10-31 12:53:39 +01:00
Benedikt Heine
b571698f52 Free Actions in separate method
Also free the memory of the actual Action.
2017-10-31 12:49:19 +01:00
Benedikt Heine
23cae3110d Optimize out icon_overridden
There is no need save if the icon field should have precedence, as
setting raw_icon to NULL emphasizes the same.

Also freeing raw_icon saves unneccessary memory.
2017-10-31 12:49:16 +01:00
Benedikt Heine
13ed6301d8 Add separate function to free RawImage 2017-10-31 12:49:07 +01:00