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

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

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

        Close all tabs except MUCs and the roster.

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
        Changes your status to **away** if the screen (or tmux) poezio is in gets detached.
177 178 179 180 181

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

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

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

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

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

        Adds a subtle little advertising in your messages.

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

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

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

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

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

        Gets the uptime of a XMPP server or a component.

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

        Add regex-based kick and ban commands.

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

        Replace some patterns in your messages.

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

        Display the time between two messages.

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

        Reorder the tabs according to a static layout.

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

        Reverse everything you say.

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

        Send commands to poezio through a named pipe.

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

        Insert dots in your messages.

253 254 255 256 257
    Autocorrect
        :ref:`Documentation <autocorrect-plugin>`

        Add new ways to correct messages.

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

        Manage IRC gateways with biboumi more easily

263 264 265 266 267
    Title change
        :ref:`Documentation <changetitle-plugin>`

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

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

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

274 275 276 277 278
    Server Part
        :ref:`Documentation <serverpart-plugin>`

        Add a ``/server_part`` command.

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

        Roll one or several dice using message corrections.
283

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