Your company here, and a link to your site. Click to find out more.

poezio - Man Page

a ncurses jabber client written in python


poezio [-f CONFIG_FILE] [-d DEBUG_FILE] [-h]


Poezio is a console jabber (XMPP) client written in Python and using ncurses to draw its interface. It aims at being similar to the most famous IRC clients, like weechat or irssi. Some keyboard shortcuts are inspired from emacs. For more information on XMPP see http://xmpp.org and on Poezio see https://poez.io


-f,  --file CONFIG_FILE

Run poezio using CONFIG_FILE as the config file instead of ~/.config/poezio/poezio.cfg.

-d,  --debug DEBUG_FILE

Log debug from both poezio and slixmpp in DEBUG_FILE. Debug contains incoming and outgoing stanzas in addition to various message helping poezio's debugging.

-c,  --check-config

Display the list of modified/unmodified config options, with their changes from the default.

-h,  --help

Display the poezio help message.


The following sections will give you a short overview on how to use poezio. Poezio has many more options, commands and key bindings, please refer to poezio.cfg(7), poezio.commands(7), poezio.keys(7) or the full documentation which should have been provided alongside the source code, or check it online at https://doc.poez.io/.

A tab, in Poezio, is the base structure of the interface. A tab may contains one or more windows, the main types are:

Roster tab

It contains a browsable list of your contacts on the left, as well as an info window on the right.

Chatroom tab

This tab displays the contents of a multi-user chat.

Conversation tab

It is used for one-to-one communication, usually when using a real Jabber account.

Key Bindings

While most of the keyboard shortcuts are common to all types of tabs, some of them are tab-specific.

Text edition

These shortcuts work in any kind of tab; most of them are identical to emacs' ones.


Move the cursor to the beginning of the line.


Move the cursor to the end of the line.


Delete the word before the cursor.


Delete the text from the cursor to the end of the line and save it in the clipboard.


Delete the text from the beginning of the line to the cursor and save it in the clipboard.


Insert the text in the clipboard after the cursor.


Delete the char after the cursor (same as the Suppr key)

Navigation keybindings

F5, Ctrl+N

Go to the previous tab.

F6, Ctrl+P

Go to the next tab.


Go to the specified tab (from 0 to 9)

Alt+J <two-digits-number>

Go to the specified tab (from 00 to 99)


Go to the last visited tab.


Go to the next important tab (private message, highlight, simple message)


Decrease the information window size.


Increase the information window size.


Go to the roster.


Redraw the screen.

Up, Down

Browse the history of the last messages or commands you've entered.

Roster keybindings


Hide or show the offline contacts.


Search through your contact list.


Cancel a search.

MUC-specific keybindings


Move the line separator at the bottom of the text window.


Complete the nickname that you're typing. If nothing has been entered, insert the nickname of the last user who spoke.


Complete the word that you're typing, based on the list of the recently said words in the conversation.


Most commands support tab completion, both for their names and for their arguments. You can use the /help command to list all available commands, and /help <command> for a complete description of <command>.

The following is a basic description of the most widely used commands; you should refer to /help inside poezio for more documentation. <foo> denotes a obligatory argument, while [bar] is an optional argument (without argument, the /remove command, for example, acts on the currently selected contact)

Roster commands

/add <jid>

Add a JID to your roster.

/remove [jid]

Remove a contact from your roster.

/accept [jid]

Accept a JID that wants to subscribe to your presence.

/deny [jid]

The opposite of /accept.

MUC-specific commands

/kick <user>

Kick the specified user from the room.

/show <status> [message]

Change your status, and status message, in the current room. You can use “avail”, “busy”, “away” and “xa” as your status, followed by an optional message.

/ignore <user>

Ignore the specified user.

/topic [topic text]

View or change the topic of the room.

/query <user>

Talk privately with the specified participant.


Leave the current room.



Known Issues

If you're using a terminal multiplexer such as screen or tmux, it may be setting $TERM to "screen", which breaks 256-color support. Consider setting your $TERM to something like "screen-256color".


You are encouraged to report bugs or feature requests on https://lab.louiz.org/poezio/poezio. You can also find us on the Jabber chatroom xmpp:poezio@muc.poez.io?join


Written by Florent Le Coz <louiz@louiz.org>

Later completed by Baptiste Jonglez <baptiste--poezio@jonglez.org>

Referenced By


May 31, 2020 Poezio dev team