summaryrefslogtreecommitdiff
path: root/doc/source/plugins/index.rst
blob: 5af1d7e0ac262153933f9891298f09bae0949e1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Plugins
=======

Starting from the 0.7.5 version, poezio supports plugins.
Here is a quick howto and a plugin index.


Setting up plugins
------------------

Poezio seeks the plugins in the :file:`~/.local/share/poezio/plugins/` dir (more
generally, the :file:`$XDG_DATA_HOME/poezio/plugins/` dir), but that can be changed
by setting the :term:`plugins_dir` option to the directory where you want to
put your plugins.

This means that if you want to use a plugin, you have to copy it (the .py file or the directory) into :term:`plugins_dir`.


Plugin autoload
---------------

Use the :term:`plugins_autoload` optionto select which plugins should be
loaded on startup. The value is a list of plugin names separated by colons,
e.g.

.. code-block:: ini

    plugins_autoload = gpg:tell:exec

Plugin configuration
--------------------

Most plugins will manage their configuration internally, and you do not (and
should not) have to edit it, but some (e.g. mpd_client or gpg) require manual
editing (the :term:`/set` command can be used, but it is not pleasant to set
multiple values with it).

The plugin configuration directory is located in :file:`~/.config/poezio/plugins/`
(or :file:`$XDG_CONFIG_HOME/poezio/plugins/`) and the file related to a specific
plugin is named :file:`plugin_name.cfg`. The configuration options should usually be
inside a section named after the plugin (sections are delimited with ``[]``).

.. code-block:: ini

    [plugin_name]
    key = value
    other_key = other_value

Plugin index
------------

.. glossary::

    Admin
        :ref:`Documentation <admin-plugin>`

        Creates convenient aliases for MUC administration.

    Alias

        Allows you to create your own aliases.

    Amsg

        Allows a message to be broadcasted on all the rooms your are in.
        Caution: do not overuse.

    Day Change

        Logs the day change inside the buffers, to keep track of the days when
        backlogging.

    Display corrections

        Lists old versions of a corrected message.

    Exec

        Runs a system command an optionally sends the output as a message.

    Figlet

        Ascii-art writing (requires the ``figlet`` package on your system).

    GPG

        Allows encrypted exchanges and presence signing using GnuPG.

    IQ Show

        Shows the received IQs, for debugging purposes.

    Link

        Opens links in a web browser, locally or remotely using a FIFO and SSH.

    MPD Client

        Sends the current song (and optionally the progress inside the song) to
        the current (chat) tab.

    OTR

        Allows encrypted and deniable exchanges using OTR.

    PacoKick

        Kicks a random user in the room.

    Ping

        Sends a ping probe to an entity (XEP-0199)

    Quote

        Adds a /quote command to quote a message at HH:MM:SS and put it in the
        input (to prevent painful copy/pastes).

    Rainbow

        Sends your messages in rainbow colors using XHTML-IM.

    Reminder

        Reminds you to do something every now and then.

    Screen Detach

        Changes your status to _away_ if the screen poezio is in is detached.

    Simple notify

        Sends a notification with a command of your choice on (non-MUC) messages.

    Status

        Adds convenient aliases to /status (/away, etc).

    Tell

        Tells a message to a nick when he connects to a MUC.

    Uptime

        Gets the uptime of a XMPP server or a component.

    Replace

        Replace some patterns in your messages.

    Time Marker

        Display the time between two messages.