A WeeChat plugin that sends highlight and message notifications through notify-send.
Python Makefile
Latest commit fb33d96 Jan 28, 2017 @s3rvac Show missed lines in the output from test coverage.
This is needed since coverage.py 4.1. See
http://stackoverflow.com/a/37746141/2580955 for more details.

README.md

weechat-notify-send

Build Status Coverage Status

A WeeChat plugin that sends highlight and message notifications through notify-send. It requires libnotify, which provides the notify-send application.

Screenshot

Note that the precise appearance depends on the configuration of your notification system as well as on the used icon.

Installation

  • Put the notify_send.py script to ~/.weechat/python/
  • Add a symbolic link to it in the ~/.weechat/python/autoload/ directory to make the script load automatically when WeeChat starts:
$ cd ~/.weechat/python/autoload
$ ln -s ../notify_send.py

Options

The plugin allows you to set the following options, either by running /set plugins.var.python.notify_send.XXX YYY or by using the iset.pl plugin.

  • notify_on_highlights. Send notifications on highlights. Default: on.
  • notify_on_privmsgs. Send notifications on private messages. Default: on.
  • notify_on_filtered_messages. Send notifications also on filtered (hidden) messages. Default: off.
  • notify_when_away: Send also notifications when away. Default: on.
  • notify_for_current_buffer: Send also notifications for the currently active buffer. Default: on.
  • notify_on_all_messages_in_buffers: A comma-separated list of buffers for which you want to receive notifications on all messages that appear in them. You can use either short names (#buffer) or full names (network.#buffer). Default: ''.
  • min_notification_delay. A minimal delay in milliseconds between successive notifications from the same buffer. It is used to protect from floods/spam. Set it to 0 to disable this feature (i.e. all notifications will be shown). Default: 500 milliseconds.
  • ignore_messages_tagged_with: A comma-separated list of message tags for which no notifications should be shown. Default: 'irc_join,irc_quit,irc_part,irc_status,irc_nick_back,irc_401,irc_402'.
  • ignore_buffers: A comma-separated list of buffers from which no notifications should be shown. You can use either short names (#buffer) or full names (network.#buffer). Default: ''.
  • ignore_buffers_starting_with: A comma-separated list of buffer prefixes from which no notifications should be shown. Default: ''.
  • ignore_nicks: A comma-separated list of nicks from which no notifications should be shown. Default: ''.
  • ignore_nicks_starting_with: A comma-separated list of nick prefixes from which no notifications should be shown. Default: ''.
  • nick_separator: A separator to be put between a nick and a message. Default: :.
  • escape_html: Escapes the <, >, and & HTML characters in notification messages. Default: on.
  • max_length: The maximal length of a notification (0 means no limit). Default: 72.
  • ellipsis: An ellipsis to be used for notifications that are too long. Default: [..].
  • icon: A path to an icon to be shown in notifications. Default: /usr/share/icons/hicolor/32x32/apps/weechat.png.
  • timeout: Time after which the notification disappears (in milliseconds). Set it to 0 to disable the timeout. Default: 5000 (5 seconds).
  • transient: When a notification expires or is dismissed, remove it from the notification bar. Set it to off to keep the notification. Default: on.
  • urgency: Notification urgency (low, normal, critical). Default: normal.

License

Copyright (c) 2015-2016 Petr Zemek (s3rvac@gmail.com) and contributors.

Distributed under the MIT license. See the LICENSE file for more details.