.. _plugins-doc: 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. 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. Plugin autoload --------------- Use the :term:`plugins_autoload` option to 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 = tell:exec Manual plugin load ------------------ Plugins can of course be loaded with the command :term:`/load` and unloaded with the command :term:`/unload`. .. _plugin-configuration: 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) 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:: :sorted: Admin :ref:`Documentation ` Creates convenient aliases for chatroom administration. Alias :ref:`Documentation ` Allows you to create your own aliases. Amsg :ref:`Documentation ` Allows a message to be broadcasted on all the rooms your are in. Caution: do not overuse. Close all :ref:`Documentation ` Close all tabs except chatrooms and the contact list. Contact :ref:`Documentation ` Do a disco#info query on the JID and display the contact addresses. CSI :ref:`Documentation ` Set the client state indication manually. Cyber :ref:`Documentation ` Add a cybertouch to your messages. Day Change :ref:`Documentation ` Logs the day change inside the buffers, to keep track of the days when backlogging. Display corrections :ref:`Documentation ` Lists old versions of a corrected message. Embed :ref:`Documentation ` Send an URL annotating it as embedded. Exec :ref:`Documentation ` Runs a system command an optionally sends the output as a message. Figlet :ref:`Documentation ` Ascii-art writing (requires the ``figlet`` package on your system). IQ Show :ref:`Documentation ` Shows the received IQs, for debugging purposes. Link :ref:`Documentation ` Opens links in a web browser, locally or remotely using a FIFO and SSH. Moderate :ref:`Documentation ` Retracts a message as a moderator in groupchats. MPD Client :ref:`Documentation ` Sends the current song (and optionally the progress inside the song) to the current (chat) tab. OMEMO **Not distributed with Poezio.** See https://lab.louiz.org/poezio/poezio-omemo. `Documentation `_ Allows for end-to-end encrypted exchanges using the OMEMO mechanism. PacoKick :ref:`Documentation ` Kicks a random user in the room. Ping :ref:`Documentation ` Sends a ping probe to an entity (XEP-0199) Quote :ref:`Documentation ` Adds a /quote command to quote a message at HH:MM:SS and put it in the input (to prevent painful copy/pastes). Rainbow :ref:`Documentation ` Sends your messages in rainbow colors using XHTML-IM. Reminder :ref:`Documentation ` Reminds you to do something every now and then. Screen Detach :ref:`Documentation ` Changes your status to **away** if the screen (or tmux) poezio is in gets detached. Send Delayed :ref:`Documentation ` Program the sending of futur messages. Simple notify :ref:`Documentation ` Sends a notification with a command of your choice on (non-chatroom) messages. Spam :ref:`Documentation ` Adds a subtle little advertising in your messages. Status :ref:`Documentation ` Adds convenient aliases to /status (/away, etc). Sticker :ref:`Documentation ` Opens a graphical sticker picker and sends the selected one. Tell :ref:`Documentation ` Sends a message to a nick when he connects to a chatroom. Uptime :ref:`Documentation ` Gets the uptime of a XMPP server or a component. Regex Admin :ref:`Documentation ` Add regex-based kick and ban commands. Replace :ref:`Documentation ` Replace some patterns in your messages. Time Marker :ref:`Documentation ` Display the time between two messages. Reorder :ref:`Documentation ` Reorder the tabs according to a static layout. Revstr :ref:`Documentation ` Reverse everything you say. Pipe Command :ref:`Documentation ` Send commands to poezio through a named pipe. Shuffle :ref:`Documentation ` Shuffle everything you say. Double :ref:`Documentation ` Double the first word of each sentence. PointPoint :ref:`Documention ` Insert dots in your messages. Autocorrect :ref:`Documentation ` Add new ways to correct messages. IRC :ref:`Documentation ` Manage IRC gateways with biboumi more easily Title change :ref:`Documentation ` Change the title of the terminal according to the name of the current tab. Marquee :ref:`Documentation ` Reproduce the behavior of the ```` html tag. Server Part :ref:`Documentation ` Add a ``/server_part`` command. Dice :ref:`Documentation ` Roll one or several dice using message corrections. Disco :ref:`Documentation ` Add a ``/disco`` command to display the disco#info of a JID. vCard :ref:`Documentation ` Add a ``/vcard`` command to retrieve and display a vCard. Upload :ref:`Documentation ` Add an ``/upload`` command to upload a file. User Extras :ref:`Documentation ` Add /mood, /gaming, /activity .. toctree:: :hidden: admin alias amsg day_change display_corrections embed exec figlet link mpd_client otr pacokick ping quote rainbow reminder replace screen_detach send_delayed simple_notify spam status sticker tell time_marker uptime revstr double shuffle iq_show regex_admin pointpoint autocorrect irc change_title pipe_cmd close_all reorder cyber csi dice disco marquee server_part vcard upload contact userextras