Benedikt Heine
20df6f2103
Remove deprecated .c.o rule
2018-11-19 17:19:35 +01:00
Benedikt Heine
0410a9369b
Merge pull request #502 from bebehei/coveragereport
...
Coveragereport and test suite improvements
2018-11-18 13:34:57 +01:00
Benedikt Heine
ed341dfca3
Add S2US macro
2018-11-15 15:17:48 +01:00
Benedikt Heine
9b45a111f1
Sort includes alphabetically
2018-11-15 15:17:48 +01:00
Benedikt Heine
feb62a0c4c
Remove displaced comment
2018-11-15 15:17:48 +01:00
Benedikt Heine
a6abfdf7c5
Include all local files relatively
2018-11-15 15:17:48 +01:00
Benedikt Heine
8c192f3c28
Make tests runnable from everywhere
2018-11-15 15:17:46 +01:00
Benedikt Heine
2e9d8300de
Include full c source to assert static objects
...
To assert static objects, we either have to add a method into the
object under test itself and recompile on a test run with the activated test
method (but also recompile after tests, so that method is gone on
release builds).
Alternatively we can include the whole .c file in our test
infrastructure and save the object in the test directory. So there's no
necessity to clean it up prior to a release build and it's contained
away.
This requires, that the test folder isn't excluded in coveralls.
2018-11-15 15:17:21 +01:00
Benedikt Heine
b4c319350a
Support gcovr to generate coverage reports
...
The coveralls service is a great webservice, but like the testsuite it's
better to have an alternative, which makes it possible to process it
locally. This is faster and doesn't even require a full push iteration.
gcovr is easy to get:
pip install gcovr
make test-coverage-report
2018-11-15 15:17:21 +01:00
Benedikt Heine
787cebbc80
Reorder .gitinore
2018-11-15 15:17:21 +01:00
Benedikt Heine
b4ce81b1c9
Move test coverage generation into Makefile
...
Add the necessary compiler flags to the Makefile to actually make
coverage reports available locally, too.
The coverage files have to get cleaned every time before the test gets
run. Otherwise, it would sum up the coverage over multiple test runs.
2018-11-15 15:17:16 +01:00
Benedikt Heine
eba6913faa
Test version number in unittests
...
Enforces a version number as intended in the Makefile. This check is
necessary, as there is no ability to check via Macros for an empty
string.
2018-11-12 15:32:58 +01:00
Nikos Tsipinakis
27c6a1682d
Merge pull request #552 from Gravemind/x-canonical-private-synchronous
...
Implement x-canonical-private-synchronous hint
2018-11-11 19:55:05 +02:00
Nikos Tsipinakis
f0b047497e
Merge pull request #560 from bebehei/rework-utils
...
Add docstrings to the functions in markup and utils
2018-11-11 19:49:39 +02:00
Benedikt Heine
2d2a9c893c
Add doxygen docs for markup and utils files
2018-11-11 17:27:11 +01:00
Benedikt Heine
413c0d68af
Use assertions and NULL checks in markup and utils
2018-11-11 17:26:14 +01:00
Benedikt Heine
90b04a22dd
Use g_malloc instead of malloc
...
g_malloc won't return NULL, but abort the program. As we don't check for
NULl, this is the better solution.
2018-11-11 15:18:56 +01:00
Benedikt Heine
ae1b20881e
Use isspace to test for whitespace
2018-11-11 15:18:56 +01:00
Benedikt Heine
d8d457f500
Remove string_replace()
...
string_replace_at does almost the same and string_replace is only used
once, where additionally string_replace_at would be the better choice.
2018-11-11 15:18:56 +01:00
Jordan Galby
d879d70da0
Implement stack_tag, implementing x-canonical-private-synchronous
...
Implements "x-dunst-stack-tag", "x-canonical-private-synchronous",
"private-synchronous", and "synchronous" hints via the "stack_tag" feature.
2018-11-10 14:59:32 +01:00
Nikos Tsipinakis
b805273fb9
Merge pull request #558 from tsipinakis/feature/markup-escape
...
Implement smarter markup escaping
2018-11-06 21:04:35 +02:00
Nikos Tsipinakis
2c6cb8ebf3
Implement smarter markup escaping
...
Automatically detect and escape invalid and unsupported & entities.
Fixes #546
2018-11-06 20:49:47 +02:00
Nikos Tsipinakis
5eb34fae4e
Merge pull request #556 from bebehei/cleanup
...
Cleanup
2018-11-01 22:14:41 +02:00
Benedikt Heine
851f8a7339
Rename dbus methods consistently
2018-10-31 15:19:24 +01:00
Benedikt Heine
9cd600f0bf
Remove unused function get_filename_ext
...
This function had been copied 100% out of the stackoverflow answer
https://stackoverflow.com/a/24976006
2018-10-31 15:19:24 +01:00
Benedikt Heine
a24a464fbc
Remove superfluous pause_signal_handler func
2018-10-31 15:19:24 +01:00
Benedikt Heine
08019dc268
Move context_menu into right header
2018-10-31 15:19:24 +01:00
Benedikt Heine
63163fb498
Merge pull request #554 from anbenson/master
...
Add error message for failed regex initialization
2018-10-30 12:43:36 +01:00
Andrew Benson
f48a939dbf
Add error message for failed regex initialization
2018-10-29 07:32:19 -07:00
Nikos Tsipinakis
f12f1094ed
Merge pull request #550 from bebehei/misc
...
Misc patches
2018-10-10 17:59:30 +03:00
Benedikt Heine
8ba4983ce0
Merge pull request #549 from bebehei/threaded-dmenu
...
Threaded dmenu
Create a refcounting mechanism for notifications and "lock" them while displayed in dmenu.
Fixes #456
2018-10-10 16:49:28 +02:00
Benedikt Heine
f0e4870d99
Reorder CC arguments similarily
...
Output first, then all required objects and then the FLAGS
2018-10-10 12:58:04 +02:00
Benedikt Heine
750e05f03b
Remove trailing spaces
2018-10-10 11:53:03 +02:00
Benedikt Heine
c0e2a2a7e3
Move all strcmp operations to STR*EQ macros
2018-10-09 10:08:17 +02:00
Benedikt Heine
bb02897bc8
Introduce STR_EQ and STRN_EQ macros
2018-10-09 10:08:17 +02:00
Benedikt Heine
52c47524f2
Test notification referencing
2018-10-08 18:27:11 +02:00
Benedikt Heine
fe7d82380e
Use GLib to spawn browser and dmenu
2018-10-08 18:27:11 +02:00
Benedikt Heine
778a6857d8
Move clean_value function to utils.c
...
This is a typical string manipulation function an has no necessity to
stay in option_parser.
2018-10-08 18:27:11 +02:00
Benedikt Heine
6cc7ca361a
Allow half quoted values
...
Previously config lines like
[rule]
script = mail -s "New notif"
were only possible to get written with additional full quotes,
which makes no sense in command line expressions.
2018-10-08 18:27:11 +02:00
Benedikt Heine
357c4309e6
Pass URLs to browser as a single argument
...
Parsing the arguments with g_shell_parse_argv is more safe than just
splitting it by spaces. Also this allows to pass values with spaces to
the browser command.
2018-10-08 18:27:11 +02:00
Benedikt Heine
851953f5ef
Start dmenu in a separate thread
2018-10-08 18:27:11 +02:00
Benedikt Heine
516161e765
Typo
2018-10-08 17:38:00 +02:00
Benedikt Heine
1f4cd4bd15
Use STR_(EMPTY|FULL) for string emptyness checks
2018-10-08 17:38:00 +02:00
Benedikt Heine
da846d8442
Do not count longer than necessary
...
And also use g_strndup. This makes allocation easier and also ensures a
null-byte at the end of the string.
2018-10-08 17:38:00 +02:00
Benedikt Heine
c80e3e9a42
Harness dispatch_menu_result against stupid input
2018-10-06 13:44:01 +02:00
Benedikt Heine
38c788c367
Split plain dmenu call into separate function
2018-10-06 13:44:01 +02:00
Benedikt Heine
958aa2bc96
Lock notifications while executing dmenu
...
When executing dmenu, the current notifications get "locked", by setting
their timeout temporarily to 0 and referencing them. So the notification
won't get closed (exept forcefully) and won't get freed while dmenu is
opened.
This is currently pointless, but as the dmenu call will become threaded,
it's necessary later.
2018-10-06 13:44:01 +02:00
Benedikt Heine
974bcb776e
Remember if the notification is living on a valid connection
...
The notification spec says, that a notification gets invalidated when
closed. So the client won't listen anymore to ActionInvoked signals and
won't listen to NotificationClosed signals.
Remembering the actual status of the notification helps the standard and
makes the behavior clearer.
2018-10-06 13:44:01 +02:00
Benedikt Heine
837b4fe125
Implement refcounting for notifications
2018-10-06 13:43:49 +02:00
Benedikt Heine
2ef74c0d64
Respect follow mode from defaults struct
2018-10-05 02:10:41 +02:00