diff options
Diffstat (limited to 'plugins/simple_notify.py')
-rw-r--r-- | plugins/simple_notify.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/plugins/simple_notify.py b/plugins/simple_notify.py index 62b1f81a..a44a6902 100644 --- a/plugins/simple_notify.py +++ b/plugins/simple_notify.py @@ -1,3 +1,69 @@ +""" +This plugin lets you execute a command, to notify you from new important +messages. + +Installation and configuration +------------------------------ + +You need to create a plugin configuration file. Create a file named :file:`simple_notify.cfg` +into your plugins configuration directory (:file:`~/.config/poezio/plugins` by +default), and fill it like this: + +First example: + +.. code-block:: ini + + [simple_notify] + command = notify-send -i /path/to/poezio/data/poezio_80.png "New message from %(from)s" "%(body)s" + +Second example: + +.. code-block:: ini + + [simple_notify] + command = echo \\<%{from}s\\> %{body}s >> some.fifo + delay = 3 + after_command = echo >> some.fifo + +You can put any command, instead of these ones. You can also use the +special keywords ``%(from)s`` and ``%(body)s`` that will be replaced +directly in the command line by the author of the message, and the body. + +The first example shown above will display something like this: + +.. figure:: ../images/simple_notify_example.png + :alt: Simple notify example + +The second example will first write the author and the message in a +fifo, that fifo can locally be read by some other program (was tested +with the xmobar PipeReader command, which displays what is read from a +fifo into a status bar. Be careful, you have two different fifos in +that case, don’t get confused). The :term:`delay` and :term:`after_command` options +are used to erase/delete/kill the notification after a certain +delay. In our example it is used to display an empty message in our +xmobar, erasing the notification after 3 seconds. + +.. note:: If you set the :term:`exec_remote` option to ``true`` into the + main configuration file, the command will be executed remotely + (as explained in the :ref:`link-plugin` plugin help). + +Options defined +--------------- + +.. glossary:: + :sorted: + + command + The command to execute (with special keywords ``%{from}s`` and ``${body}s``) + + delay + Delay after which :term:`after_command` must be executed. + + after_command + Command to run after :term:`delay`. You probably want to clean up things. + +""" + from plugin import BasePlugin from xhtml import clean_text, get_body_from_message_stanza from timed_events import DelayedEvent |