541 Commits

Author SHA1 Message Date
matclab
842a5242f7 Remove warning message
This message has no real added value and is emitted every time a
notification is closed when `ignore_dbuclose` is set.
2020-07-16 18:28:05 +02:00
matclab
7bd55a53bf ignore_dbusclose: Add debug message when ignoring 2020-07-16 18:28:05 +02:00
matclab
0a08cefc68 ignore_dbusclose: send NotificationClosed signal back for spec compliance
The notification spec has no concept of disallowing closing notifications,
so to make the ignore_dbusclose 'compliant' we choose to lie to the clients
that the notification is actually closed, but keep it open.
To do this, we send a NotificationClosed signal back (via signal_notification_closed
which also call notification_invalidate_action)
2020-07-16 18:28:05 +02:00
matclab
762d37758d Add ignore_dbusclose settings
closes #731
2020-07-12 22:44:26 +02:00
matclab
3c33f4559f No compositor if no _NET_WM_CM_Si atom
close #734
2020-07-12 14:44:47 +02:00
Nikos Tsipinakis
0de8610b67 Fix crash when triggering actions via dunstctl
g_list_nth_data was used to query the notification list, but in the code
it was erroneously assumed that a GList object was returned rather than
a notification.

One of the many pitfalls of generic pointers...

Fixes #727
2020-07-02 19:46:36 +02:00
Nikos Tsipinakis
8afb7fcd1a Clear window before redrawing (again!)
The timeline of this issue is as follows:
In 7a094bc a call to XClearWindow/XFlush was added as part of RGBA
support.
Afterwards, I noticed that there is some noticeable flicker while
redrawing for large notifications, so I foolishly removed both of these
calls without considering the full effects.

As a result when redrawing notifications 'stack up' with each-other.
After a testing it seems that the XFlush call that was causing
the flicker is not necessary and XClearWindow works without it.

Fixes #728
2020-07-02 19:27:44 +02:00
Nikos Tsipinakis
1ca271084a Recognize svgz icon types 2020-06-11 18:21:58 +02:00
Nikos Tsipinakis
ed3db5048c Revert "Clear window to prevent accumulations"
This reverts commit 7a094bc702149104cd4049281a7dd9ed0ab76c89.

This commit caused a flicker effect every time the window was redrawn,
reverting it for now.
2020-06-09 12:13:29 +02:00
Nikos Tsipinakis
7735c9a4f6 Fix separator not working with frame_width=0
Bug was introduced with 16e38a9a84c46b0cd4fd7b0f2f88e9d8054ccc0b.
2020-05-28 13:00:20 +02:00
Nikita Zlobin
12bea04941 optimization 2020-05-26 22:59:01 +05:00
Nikita Zlobin
6413a4d6f8 Revert "Support arbitrary hex color formats (16/32bits per component)"
This reverts commit 1e36a6b4ac569527981e06db429f3e6cd8ac99b8.
2020-05-26 22:28:05 +05:00
Nikita Zlobin
d110ba93e6 Revert "Floating point color config formats"
This reverts commit 6b28d57730a390264b4d0daea2d765f841ad90d8.
2020-05-26 22:27:31 +05:00
Nikita Zlobin
98debc663a simplify UINT_MAX_N
Probably I was too precatious, not relying to common rule about
unsigned subtraction to minus.
2020-05-26 18:35:37 +05:00
Nikita Zlobin
d45888a785 Don't mix separator with underlying content 2020-05-23 14:14:50 +05:00
Nikita Zlobin
6b28d57730 Floating point color config formats 2020-05-23 14:14:50 +05:00
Nikita Zlobin
1e36a6b4ac Support arbitrary hex color formats (16/32bits per component)
It's unlikely that string_to_color() is faster, but at least is more
flexible. Not sure if 8-digit per channel format is used.
2020-05-23 14:14:50 +05:00
Nikita Zlobin
7226ef2c15 Support for different color config precisions (#RGB format)
Support for #RGB is claimed in docs.
2020-05-23 14:14:50 +05:00
Nikita Zlobin
2e2b3e549f RGBA color support 2020-05-23 14:14:50 +05:00
Nikita Zlobin
9833fbba1f Limit frame stroke area 2020-05-23 14:14:50 +05:00
Nikita Zlobin
8d8e6882e8 style fix 2020-05-23 14:14:50 +05:00
Nikos Tsipinakis
813417915c
Merge pull request #713 from nick87720z/fix-ugly-frame
Fix ugly frame
2020-05-22 19:08:04 +02:00
Nikita Zlobin
2de1603cd2 style fix 2020-05-20 21:19:04 +05:00
Nikita Zlobin
10c82ed7fe Rename x_win_round_corners() to x_win_corners_shape()
It's all job is to feel proper X11 shape.
2020-05-20 21:16:31 +05:00
Nikita Zlobin
73b7176e0b Reuse draw_rounded_rect() for xshape drawing 2020-05-20 21:15:01 +05:00
Nikita Zlobin
85ea8b8aa8 Separate some functions 2020-05-20 21:10:45 +05:00
Nikita Zlobin
6b6b63da17 code style fix 2020-05-09 02:10:15 +05:00
Nikita Zlobin
296cea499c Compositor detection 2020-05-08 06:23:10 +05:00
Nikita Zlobin
0e35c6acb0 Use cairo to form xshape mask 2020-05-07 02:47:11 +05:00
Nikita Zlobin
5fd090e618 Frame internal radius 2020-05-06 22:27:39 +05:00
Nikos Tsipinakis
289b4f50eb Remove const qualifier in queues_get_displayed
The returned node was theoretically read-only however all the other
nodes accessible do not inherit the qualifier. Since none of the glib
functions use const with Glib, even the read-only ones. There's no use
in having it.

This resolves the warning about g_list_nth_data.
2020-05-05 11:38:48 +02:00
Nikita Zlobin
dcf060effa Fix xshape mask rounding 2020-05-05 11:55:50 +05:00
Nikita Zlobin
d964455d36 oops: Keep ready for possible 32bit color lack 2020-05-05 00:56:19 +05:00
Nikita Zlobin
d3f6c05590 True transparency support 2020-05-04 19:45:02 +05:00
Nikita Zlobin
7a094bc702 Clear window to prevent accumulations 2020-05-04 19:06:53 +05:00
Nikita Zlobin
c09f0f029f style fix 2020-05-04 02:42:18 +05:00
Nikita Zlobin
dbbaecfd1d Fix indentation 2020-05-04 02:35:34 +05:00
Nikita Zlobin
16e38a9a84 Don't draw frame with zero line width 2020-05-03 22:03:47 +05:00
Nikita Zlobin
4c4dc9aa95 Fix ugly rounded corners 2020-05-03 22:03:47 +05:00
mrossinek
cfa8625699
Fix boolean negation 2020-05-02 10:01:51 +02:00
mrossinek
f868f51fcd
Fix embedded XML 2020-05-02 09:19:24 +02:00
mrossinek
0dfcc1420d
Change running to paused state on "server" side
This allows the boolean "inversion" to happen in the C code instead of
post-processing in the dunstctl shell script.
2020-05-01 21:54:53 +02:00
Nikos Tsipinakis
337ff1edb5
Merge pull request #651 from bebehei/dunstctl
Implement a command line control (dunstctl)
2020-05-01 15:38:23 +02:00
Nikos Tsipinakis
a91adf9c80 Implement error handling in NotificationAction call 2020-05-01 15:35:23 +02:00
Nikos Tsipinakis
ec421f1ea1 Properly handle error conditions from dunstctl 2020-05-01 15:35:23 +02:00
Nikos Tsipinakis
9049bf15b2 Remove live status checking (for now) 2020-05-01 15:35:23 +02:00
Nikos Tsipinakis
ee11dfa8fe Don't wake up after doing an action 2020-05-01 15:35:23 +02:00
Nikos Tsipinakis
b1f64b266b Wake up after changing status via dunstctl 2020-05-01 15:35:23 +02:00
Benedikt Heine
7e92619967 Add ability to trigger action of latest notification
Currently triggers only the latest notification. TODO: implement it
either with ActionsAll or more favorable: with an optional paramter,
which should trigger only the action of a single notification.

The problem currently: I have got no ability to check the DBus docs, as
I'm on a bad internet connection.
2020-05-01 15:35:23 +02:00
Chris Down
e8fc45da63 follow=keyboard: Fall back to follow=mouse instead of XDefaultScreen()
In dwm and similar window managers, it's common to often have empty
tags, and navigate to them with the intent to create clients there. If I
navigate to one of those empty tags with a dunst notification visible
and follow=keyboard set, the notification warps over to the default
screen.  If I then open a client, it then warps back, which is pretty
jarring.

This is mostly an artefact of the implementation of follow=keyboard --
if we fail to get a focused window, we use the default screen. However
this case isn't necessarily really a "failure" on window managers like
dwm where it's a common occurrence to end up with no clients on the
screen, whereas that would be significantly rarer on (say) GNOME or KDE.

A guess that's more likely to fit user expectations is falling back to
where the mouse pointer currently is, since this indicates the currently
focused monitor that the window manager would create a client on. This
avoids warping back to that monitor again when a client is created.
2020-04-27 16:34:53 +01:00