/pynotif

Notification extension for EKG2

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

1. About

   pynotif is an extension for ekg2. It sends dbus notifications about status
   changes and incoming messages. You will also need some sort of notification
   daemon that will recive and display notifications as pop-up windows. If you
   use a complex desktop environment like KDE or GNOME, most probrably you
   have notification running.

2. Dependencies

   * ekg2 + plugin python
   * pynotify python library
   * notification daemon

3. How to use it

   Just copy pynotif.py to your .ekg2/scripts directory and load it using:
   /script:load pynotif

   If you copy it to .ekg2/scripts/autorun, it will be loaded automatically at
   ekg2 startup.

4. Configuration

   pynotif declares and uses following variables:

   * notify:catch_url = "0"
     - if set to "1", pynotif will replace urls with html "a href" clickable
       tags. You may want it if your notification daemon supports basic HTML.

   * notify:catch_url_timeout = "5000"
   * notify:icon_msg = "dialog-warning"
   * notify:icon_status = "dialog-warning"
   * notify:ignore_sessions_regexp = "^irc:"
     - ignore notifications from matching sessions.

   * notify:ignore_uids_regexp = "^xmpp:.*@conference."
     - ignore notifications from matching uids. Note that conference.DOMAIN is
       default JID of MUC service, so default value of this variable causes
       pynotif to drop notifications from MUC chatrooms.

   * notify:message_notify = "1"
     - set "0" to disable message notifications.

   * notify:message_notify_unknown = "1"
   * notify:message_timeout = "3500"
   * notify:show_timestamps = "1"
     - set "0" to disable timestamps in message notifications.

   * notify:status_notify = "0"
     - set "1" to enable status change notifications.

   * notify:status_timeout = "3500"
   * notify:urgency_critical_regexp = "^$"
   * notify:urgency_normal_regexp = "^$"
     - before sending notification, pynotif mathes title&message against these
       regexp. If "critical_regexp" mathes, urgency is set to CRITICAL.
       Otherwise, if "normaln_regexp" mathes, urgency is set to NORMAL.
       Otherwise notification is send as LOW.
       Note '&' was chosen as separator, as this character is forbiden in
       JIDs, so it should not appear in notification title. Default values of
       these regexps is "^$". Note that these regexps are never matched,
       because string contain at least single "&" character.

5. Authors

   Paweł Tomak <satherot (at) gmail (dot) com>
   Paweł Zuzelski <pawelz (at) pld-linux (dot) org>

6. Copying

   You are free to use it, redistribute, modify, distribute modified version
   according to GPL version 3 or any later.