530 Commits

Author SHA1 Message Date
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
Benedikt Heine
a3342d0ced Add debug command 2020-04-10 10:48:47 +02:00
Benedikt Heine
55f4971a92 Add DBus interface to control dunst 2020-04-10 10:47:12 +02:00
Michael Krasnitski
8bcc3070fb Use g_strsplit instead of homebrewing a solution
Lesson: don't reinvent the wheel.
Additionally, changed a `g_malloc` call to `g_malloc_n` for safety.
2020-04-05 19:35:36 -04:00
Michael Krasnitski
506b4f2cfa Allow a mouse button to perform 1 or more actions in series.
The user provides a comma-separated list of valid mouse actions
that will be performed one after another when a notification is
clicked. If any one of the provided actions is invalid, the value
reverts to its default state.
2020-04-05 15:29:24 -04:00
Michael Krasnitski
94be674cf8 Add parsing of comma-separated list options from conf/cmdline. 2020-04-05 12:15:35 -04:00
Nikos Tsipinakis
69e319c729 Invalidate actions after notification is closed 2020-03-31 15:27:16 +02:00
Benedikt Heine
9591af02a8 Retrieve user's home from passwd entry as fallback
For weird reasons, the HOME-variable might not always be set. So we
should fallback on something more reliable.

Fixes #693
2020-03-10 16:29:20 +01:00
chronus
4c09883ef6 adding changes according to review
- adding default to config.h#defaults
- changing naming from content_* to vertical_*
- replacing switch-case with if-else-if
2020-01-29 23:02:00 +01:00
chronus
f9b6f6a066 fixing comparison issue in bottom alignment 2020-01-25 16:43:42 +01:00
chronus
89d7a81b9c Adding vertical content alignment control.
This adds the option `content_alignment`, which allows the user to set
the vertical alignment of the notification's content (i.e. icon and
text) to either top (`CONTENT_TOP`), center (`CONTENT_CENTER`, default),
or bottom (`CONTENT_BOT`). The default preserves current behaviour,
while the other options fulfill #486.
2020-01-25 16:35:38 +01:00
Jonas Berlin
03253e82f7 [ReviewFix] Remove bogous g_error_free() cal 2019-12-05 20:12:07 +02:00