index.rst 6.3 KB
Newer Older
mathieui's avatar
mathieui committed
1 2
.. _plugins-doc:

mathieui's avatar
mathieui committed
3 4 5 6 7 8 9 10 11 12
Plugins
=======

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


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

mathieui's avatar
mathieui committed
13

mathieui's avatar
mathieui committed
14 15 16 17 18
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.

mathieui's avatar
mathieui committed
19 20 21 22
By default, poezio will also seek the plugins in :file:`../plugins`, in the source
directory, in order to always load the latest versions. You should put a plugin
in :file:`$XDG_DATA_HOME/poezio/plugins` only if you have a custom version (that
will override the one in :file:`../plugins`), or if it is a plugin you made.
mathieui's avatar
mathieui committed
23 24 25 26 27 28 29 30 31 32 33 34 35


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

mathieui's avatar
mathieui committed
36 37 38 39 40 41
Manual plugin load
------------------

Plugins can of course be loaded with the command :term:`/load` and unloaded
with the command :term:`/unload`.

mathieui's avatar
mathieui committed
42 43
.. _plugin-configuration:

mathieui's avatar
mathieui committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
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::
mathieui's avatar
mathieui committed
67
    :sorted:
mathieui's avatar
mathieui committed
68 69 70 71 72 73 74

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

        Creates convenient aliases for MUC administration.

    Alias
mathieui's avatar
mathieui committed
75
        :ref:`Documentation <alias-plugin>`
mathieui's avatar
mathieui committed
76 77 78 79

        Allows you to create your own aliases.

    Amsg
mathieui's avatar
mathieui committed
80
        :ref:`Documentation <amsg-plugin>`
mathieui's avatar
mathieui committed
81 82 83 84 85

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

    Day Change
mathieui's avatar
mathieui committed
86
        :ref:`Documentation <daychange-plugin>`
mathieui's avatar
mathieui committed
87 88 89 90 91

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

    Display corrections
mathieui's avatar
mathieui committed
92
        :ref:`Documentation <displaycorrections-plugin>`
mathieui's avatar
mathieui committed
93 94 95 96

        Lists old versions of a corrected message.

    Exec
mathieui's avatar
mathieui committed
97
        :ref:`Documentation <exec-plugin>`
mathieui's avatar
mathieui committed
98 99 100 101

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

    Figlet
mathieui's avatar
mathieui committed
102
        :ref:`Documentation <figlet-plugin>`
mathieui's avatar
mathieui committed
103 104 105 106

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

    GPG
mathieui's avatar
mathieui committed
107
        :ref:`Documentation <gpg-plugin>`
mathieui's avatar
mathieui committed
108 109 110 111

        Allows encrypted exchanges and presence signing using GnuPG.

    IQ Show
mathieui's avatar
mathieui committed
112
        :ref:`Documentation <iqshow-plugin>`
mathieui's avatar
mathieui committed
113 114 115 116

        Shows the received IQs, for debugging purposes.

    Link
mathieui's avatar
mathieui committed
117
        :ref:`Documentation <link-plugin>`
mathieui's avatar
mathieui committed
118 119 120 121

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

    MPD Client
mathieui's avatar
mathieui committed
122
        :ref:`Documentation <mpdclient-plugin>`
mathieui's avatar
mathieui committed
123 124 125 126 127

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

    OTR
mathieui's avatar
mathieui committed
128
        :ref:`Documentation <otr-plugin>`
mathieui's avatar
mathieui committed
129 130 131 132

        Allows encrypted and deniable exchanges using OTR.

    PacoKick
mathieui's avatar
mathieui committed
133
        :ref:`Documentation <pacokick-plugin>`
mathieui's avatar
mathieui committed
134 135 136 137

        Kicks a random user in the room.

    Ping
mathieui's avatar
mathieui committed
138
        :ref:`Documentation <ping-plugin>`
mathieui's avatar
mathieui committed
139 140 141 142

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

    Quote
mathieui's avatar
mathieui committed
143
        :ref:`Documentation <quote-plugin>`
mathieui's avatar
mathieui committed
144 145 146 147 148

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

    Rainbow
mathieui's avatar
mathieui committed
149
        :ref:`Documentation <rainbow-plugin>`
mathieui's avatar
mathieui committed
150 151 152 153

        Sends your messages in rainbow colors using XHTML-IM.

    Reminder
mathieui's avatar
mathieui committed
154
        :ref:`Documentation <reminder-plugin>`
mathieui's avatar
mathieui committed
155 156 157 158

        Reminds you to do something every now and then.

    Screen Detach
mathieui's avatar
mathieui committed
159
        :ref:`Documentation <screendetach-plugin>`
mathieui's avatar
mathieui committed
160

161 162 163 164 165 166
        Changes your status to **away** if the screen poezio is in is detached.

    Send Delayed
        :ref:`Documentation <senddelayed-plugin>`

        Program the sending of futur messages.
mathieui's avatar
mathieui committed
167 168

    Simple notify
mathieui's avatar
mathieui committed
169
        :ref:`Documentation <simplenotify-plugin>`
mathieui's avatar
mathieui committed
170 171 172

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

louiz’'s avatar
louiz’ committed
173 174 175 176 177
    Spam
        :ref:`Documentation <spam-plugin>`

        Adds a subtle little advertising in your messages.

mathieui's avatar
mathieui committed
178
    Status
mathieui's avatar
mathieui committed
179
        :ref:`Documentation <status-plugin>`
mathieui's avatar
mathieui committed
180 181 182 183

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

    Tell
mathieui's avatar
mathieui committed
184
        :ref:`Documentation <tell-plugin>`
mathieui's avatar
mathieui committed
185 186 187 188

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

    Uptime
mathieui's avatar
mathieui committed
189
        :ref:`Documentation <uptime-plugin>`
mathieui's avatar
mathieui committed
190 191 192

        Gets the uptime of a XMPP server or a component.

mathieui's avatar
mathieui committed
193 194 195 196 197
    Regex Admin
        :ref:`Documentation <regex-admin-plugin>`

        Add regex-based kick and ban commands.

mathieui's avatar
mathieui committed
198
    Replace
mathieui's avatar
mathieui committed
199
        :ref:`Documentation <replace-plugin>`
mathieui's avatar
mathieui committed
200 201 202 203

        Replace some patterns in your messages.

    Time Marker
mathieui's avatar
mathieui committed
204
        :ref:`Documentation <timemarker-plugin>`
mathieui's avatar
mathieui committed
205 206 207

        Display the time between two messages.

mathieui's avatar
mathieui committed
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
    Revstr
        :ref:`Documentation <revstr-plugin>`

        Reverse everything you say.

    Shuffle
        :ref:`Documentation <shuffle-plugin>`

        Shuffle everything you say.

    Double
        :ref:`Documentation <double-plugin>`

        Double the first word of each sentence.

louiz’'s avatar
louiz’ committed
223 224 225 226 227
    PointPoint
        :ref:`Documention <pointpoint-plugin>`

        Insert dots in your messages.

228 229 230 231 232
    Autocorrect
        :ref:`Documentation <autocorrect-plugin>`

        Add new ways to correct messages.

mathieui's avatar
mathieui committed
233 234 235 236 237
    IRC
        :ref:`Documentation <irc-plugin>`

        Manage IRC gateways with biboumi more easily

238 239


mathieui's avatar
mathieui committed
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262
.. toctree::
    :hidden:

    admin
    alias
    amsg
    day_change
    display_corrections
    exec
    figlet
    gpg
    link
    mpd_client
    otr
    pacokick
    ping
    quote
    rainbow
    reminder
    replace
    screen_detach
    send_delayed
    simple_notify
louiz’'s avatar
louiz’ committed
263
    spam
mathieui's avatar
mathieui committed
264 265 266 267 268 269 270 271
    status
    tell
    time_marker
    uptime
    revstr
    double
    shuffle
    iq_show
mathieui's avatar
mathieui committed
272
    regex_admin
louiz’'s avatar
louiz’ committed
273
    pointpoint
274
    autocorrect
mathieui's avatar
mathieui committed
275
    irc