
The current "allow_markup" setting will simply strip any markup from the final notification, which includes formatting elements. On top of that, literal [<>&..] symbols are not quoted before are being passed onto pango in several places, resulting in stray error messages. This patch fixes allow_markup to correctly strip markup only from the incoming notification, not from the format. You might also want to treat incoming messages as literal text (supplied by un-aware programs), in which case you need to properly quote the text before it's processed by pango. A new setting is introduced, called "plain_text", which forces incoming messages to be treated literally. allow_markup/plain_text are complimentary to each other. The new rule actions allow to narrow down the handling to a specific block, achieving notification Zen. The following is done in this patch: - Fix ruleset initialization in config.def.h. - Introduce new allow_markup/plain_text actions in the rules. - Fix handling of allow_markup to strip markup from summary/body only, preserving format's markup. - Fix broken string functions (string_replace_all didn't handle recursive replacements correctly). - Fix quoting of other literal fields (icon name/appname). - Fix handling of ignore_newline as well (applied only on summary/body). - Dunstrc update with the same previous defaults.
=head1 NAME dunst - A customizable and lightweight notification-daemon =head1 SYNOPSIS dunst [-geometry geom] [-shrink shrink] [-fn font] [-nf/nb/lf/lb/cf/cb color] [-to/nto/lto/cto secs] [-format fmt] [-key key] [-mod mod] [-mon n] [-t/title title] [-c/class class] [-v] =head1 DESCRIPTION Dunst is a highly configurable and lightweight notification daemon. =head1 OPTIONS =over 4 =item B<-h/--help> display help message. =item B<-fn font> defines the font or font set used. =item B<-lb/nb/cb color> defines the background color of low/normal/critical messages. =item B<-lf/nf/cf color> defines the foreground color of low/normal/critical messages. =item B<-to secs> defines the default timeout. Can be (partially) overridden by the following options. =item B<-lto/nto/cto secs> timeouts for low/normal/critical messages. =item B<-key key> remove notification by pressing key. =item B<-all_key key> remove all notifications by pressing key. =item B<-history_key key> redisplay last notification by pressing key. =item B<-format fmt> defines the format of the message. See FORMAT. =item B<-mon n> show the notification on monitor n. =item B<-follow mode> display notifications on focused monitor. Possible options are "mouse" to follow the mouse cursor, "keyboard" to follow the window with the keyboard focus and "none" to disable focus following. "mouse" and "keyboard" overwrite the -mon option. =item B<-s> sort messages by urgency. =item B<-ns> don't sort messages by urgency. =item B<-geometry [{width}]x{height}][+/-{x}+/-{y}]> The geometry of the message window. The height is measured in lines everything else in pixels. If the width is omitted but the height is given ("-geometry x2"), the message window expands over the whole screen (dmenu-like). If width is 0, the window expands to the longest message displayed. A positive x is measured from the left, a negative from the right side of the screen. Y is measured from the top and down respectevly. see also EXAMPLES show the notification on monitor n. =item B<-t/-title title> Define the title of notification windows spawned by dunst. =item B<-t/-class class> Define the class of notification windows spawned by dunst. =item B<-shrink> Shrink window if it's smaller than the width. Will be ignored if width is 0. =item B<-lh/-line_height> height The height of a single line in pixel. If the height is smaller than the font height, it will get raised to the font height. =item B<-print> Print notifications to stdout. This might be useful for logging, setting up rules or using the output in other scripts. =item B<-v/--version> print version information. =item B<-config file> use alternative config file. =back =head1 FORMAT fmt is a string containing placeholders. The placeholders will be replaced with the corresponding text, or if the text is not present, nothing. Possible placeholders are: =over 4 =item B<%a> appname =item B<%s> summary =item B<%b> body =item B<%i> iconname (including its path) =item B<%I> iconname (without its path) =item B<%p> progress value ([ 0%] to [100%]) =back =head1 COLORS Every option that needs a color as argument accepts #RGB, #RRGGBB and X color names. =head1 NOTIFY-SEND dunst is able to get different colors for a message via notify-send. In order to do that you have to add a hint via the -h option. The progress value can be set with a hint, too. =over 4 =item notify-send -h string:fgcolor:#ff4444 =item notify-send -h string:bgcolor:#4444ff -h string:fgcolor:#ff4444 =item notify-send -h int:value:42 "Working ..." =back =head1 MISCELLANEOUS Dunst can be paused by sending a notification with a summary of "DUNST_COMMAND_PAUSE" and resumed with a summary of "DUNST_COMMAND_RESUME". Alternatively you can send SIGUSR1 and SIGUSR2 to pause and unpause respectivly. For Example: =over 4 =item killall -SIGUSR1 dunst # pause =item killall -SIGUSR2 dunst # resume =back When paused dunst will not display any notifications but keep all notifications in a queue. This can for example be wrapped around a screen locker (i3lock, slock) to prevent flickering of notifications through the lock and to read all missed notifications after returning to the computer. =head1 CONFIGURATION An example configuration file is included (usually /usr/share/dunst/dunstrc). To change the configuration, copy this file to ~/.config/dunst/dunstrc and edit it accordingly. =head1 AUTHOR written by Sascha Kruse <knopwob@googlemail.com> =head1 COPYRIGHT copyright 2013 Sascha Kruse and contributors (see LICENSE for licensing information) If you feel that copyrights are violated, please send me an email. =head1 SEE ALSO dwm(1), dmenu(1), twmn(1), notify-send(1)
Description
Languages
C
95.1%
Shell
3.3%
Makefile
1.4%
Awk
0.2%