index.rst 7.61 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

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

72
        Creates convenient aliases for chatroom administration.
mathieui's avatar
mathieui committed
73 74

    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

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

85 86 87
    Close all
        :ref:`Documentation <closeall-plugin>`

88
        Close all tabs except chatrooms and the roster.
89

mathieui's avatar
mathieui committed
90 91 92 93 94
    CSI
        :ref:`Documentation <csi-plugin>`

        Set the client state indication manually.

mathieui's avatar
mathieui committed
95 96 97 98 99
    Cyber
        :ref:`Documentation <cyber-plugin>`

        Add a cybertouch to your messages.

mathieui's avatar
mathieui committed
100
    Day Change
mathieui's avatar
mathieui committed
101
        :ref:`Documentation <daychange-plugin>`
mathieui's avatar
mathieui committed
102 103 104 105 106

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

    Display corrections
mathieui's avatar
mathieui committed
107
        :ref:`Documentation <displaycorrections-plugin>`
mathieui's avatar
mathieui committed
108 109 110 111

        Lists old versions of a corrected message.

    Exec
mathieui's avatar
mathieui committed
112
        :ref:`Documentation <exec-plugin>`
mathieui's avatar
mathieui committed
113 114 115 116

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

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

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

    GPG
mathieui's avatar
mathieui committed
122
        :ref:`Documentation <gpg-plugin>`
mathieui's avatar
mathieui committed
123 124 125 126

        Allows encrypted exchanges and presence signing using GnuPG.

    IQ Show
mathieui's avatar
mathieui committed
127
        :ref:`Documentation <iqshow-plugin>`
mathieui's avatar
mathieui committed
128 129 130 131

        Shows the received IQs, for debugging purposes.

    Link
mathieui's avatar
mathieui committed
132
        :ref:`Documentation <link-plugin>`
mathieui's avatar
mathieui committed
133 134 135 136

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

    MPD Client
mathieui's avatar
mathieui committed
137
        :ref:`Documentation <mpdclient-plugin>`
mathieui's avatar
mathieui committed
138 139 140 141 142

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

    OTR
mathieui's avatar
mathieui committed
143
        :ref:`Documentation <otr-plugin>`
mathieui's avatar
mathieui committed
144 145 146 147

        Allows encrypted and deniable exchanges using OTR.

    PacoKick
mathieui's avatar
mathieui committed
148
        :ref:`Documentation <pacokick-plugin>`
mathieui's avatar
mathieui committed
149 150 151 152

        Kicks a random user in the room.

    Ping
mathieui's avatar
mathieui committed
153
        :ref:`Documentation <ping-plugin>`
mathieui's avatar
mathieui committed
154 155 156 157

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

    Quote
mathieui's avatar
mathieui committed
158
        :ref:`Documentation <quote-plugin>`
mathieui's avatar
mathieui committed
159 160 161 162 163

        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
164
        :ref:`Documentation <rainbow-plugin>`
mathieui's avatar
mathieui committed
165 166 167 168

        Sends your messages in rainbow colors using XHTML-IM.

    Reminder
mathieui's avatar
mathieui committed
169
        :ref:`Documentation <reminder-plugin>`
mathieui's avatar
mathieui committed
170 171 172 173

        Reminds you to do something every now and then.

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

176 177
        Changes your status to **away** if the screen (or tmux) poezio is in
        gets detached.
178 179 180 181 182

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

        Program the sending of futur messages.
mathieui's avatar
mathieui committed
183 184

    Simple notify
mathieui's avatar
mathieui committed
185
        :ref:`Documentation <simplenotify-plugin>`
mathieui's avatar
mathieui committed
186

187 188
        Sends a notification with a command of your choice on (non-chatroom)
        messages.
mathieui's avatar
mathieui committed
189

louiz’'s avatar
louiz’ committed
190 191 192 193 194
    Spam
        :ref:`Documentation <spam-plugin>`

        Adds a subtle little advertising in your messages.

mathieui's avatar
mathieui committed
195
    Status
mathieui's avatar
mathieui committed
196
        :ref:`Documentation <status-plugin>`
mathieui's avatar
mathieui committed
197 198 199 200

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

    Tell
mathieui's avatar
mathieui committed
201
        :ref:`Documentation <tell-plugin>`
mathieui's avatar
mathieui committed
202

203
        Sends a message to a nick when he connects to a chatroom.
mathieui's avatar
mathieui committed
204 205

    Uptime
mathieui's avatar
mathieui committed
206
        :ref:`Documentation <uptime-plugin>`
mathieui's avatar
mathieui committed
207 208 209

        Gets the uptime of a XMPP server or a component.

mathieui's avatar
mathieui committed
210 211 212 213 214
    Regex Admin
        :ref:`Documentation <regex-admin-plugin>`

        Add regex-based kick and ban commands.

mathieui's avatar
mathieui committed
215
    Replace
mathieui's avatar
mathieui committed
216
        :ref:`Documentation <replace-plugin>`
mathieui's avatar
mathieui committed
217 218 219 220

        Replace some patterns in your messages.

    Time Marker
mathieui's avatar
mathieui committed
221
        :ref:`Documentation <timemarker-plugin>`
mathieui's avatar
mathieui committed
222 223 224

        Display the time between two messages.

mathieui's avatar
mathieui committed
225 226 227 228 229
    Reorder
        :ref:`Documentation <reorder-plugin>`

        Reorder the tabs according to a static layout.

mathieui's avatar
mathieui committed
230 231 232 233 234
    Revstr
        :ref:`Documentation <revstr-plugin>`

        Reverse everything you say.

mathieui's avatar
mathieui committed
235 236 237 238 239
    Pipe Command
        :ref:`Documentation <pipecmd-plugin>`

        Send commands to poezio through a named pipe.

mathieui's avatar
mathieui committed
240 241 242 243 244 245 246 247 248 249
    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
250 251 252 253 254
    PointPoint
        :ref:`Documention <pointpoint-plugin>`

        Insert dots in your messages.

255 256 257 258 259
    Autocorrect
        :ref:`Documentation <autocorrect-plugin>`

        Add new ways to correct messages.

mathieui's avatar
mathieui committed
260 261 262 263 264
    IRC
        :ref:`Documentation <irc-plugin>`

        Manage IRC gateways with biboumi more easily

265 266 267 268 269
    Title change
        :ref:`Documentation <changetitle-plugin>`

        Change the title of the terminal according to the name
        of the current tab.
270

mathieui's avatar
mathieui committed
271 272 273 274 275
    Marquee
        :ref:`Documentation <marquee-plugin>`

        Reproduce the behavior of the ``<marquee/>`` html tag.

276 277 278 279 280
    Server Part
        :ref:`Documentation <serverpart-plugin>`

        Add a ``/server_part`` command.

mathieui's avatar
mathieui committed
281 282 283 284
    Dice
        :ref:`Documentation <dice-plugin>`

        Roll one or several dice using message corrections.
285

286 287 288 289 290
    vCard
        :ref:`Documentation <vcard-plugin>`

        Add a ``/vcard`` command to retrieve and display a vCard.

mathieui's avatar
mathieui committed
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
.. 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
314
    spam
mathieui's avatar
mathieui committed
315 316 317 318 319 320 321 322
    status
    tell
    time_marker
    uptime
    revstr
    double
    shuffle
    iq_show
mathieui's avatar
mathieui committed
323
    regex_admin
louiz’'s avatar
louiz’ committed
324
    pointpoint
325
    autocorrect
mathieui's avatar
mathieui committed
326
    irc
327
    change_title
mathieui's avatar
mathieui committed
328
    pipe_cmd
329
    close_all
mathieui's avatar
mathieui committed
330
    reorder
mathieui's avatar
mathieui committed
331
    cyber
mathieui's avatar
mathieui committed
332
    csi
mathieui's avatar
mathieui committed
333 334
    dice
    marquee
335
    server_part
336
    vcard