mcabber - Man Page

a simple Jabber (XMPP) console client


mcabber [ -h | -V | -f configfile ]


mcabber(1) is a small Jabber (XMPP) console client. For now it needs a configuration file to start, so please copy the sample mcabberrc file and adapt your connection settings.

You also need to have an existing Jabber account to use this software, as it cannot (un)register accounts yet.

Here are some of the features of mcabber:



Quick help usage message


Displays mcabber version and compile-time definitions.

-f configfile

Use configuration file configfile


The mcabber(1) screen is divided into 4 regions. The roster, alias buddylist, is on the left. The chat window, or chat buffer, is on the right. The input line lies at the bottom of the screen, under a small log window.

Two status lines surround the log window. The bottom status line is the "main status line" and reflects mcabber general status. The other line is the "chat status line" and shows the status of the currently selected buddy.

To display buddies chat buffers, you will have to enter chat mode. You can enter chat mode by pressing enter (unless vi mode is enabled), and leave chat mode with the ESC key. Simply sending a message will also enable chat mode (unless vi mode is enabled).

There are several advantages to the two-mode implementation: first, it allows accurate "unread" message functionality, as described in the next section; without this, merely scrolling to a specific buddy will "read" the new messages of all buddies in-between. Second, it allows quickly hiding the conversation with a single keystroke. Third, it allows jumping between the few buddies with whom you are conversing with the /roster alternate command described in another section, without having to manually scroll back and forth.


Text typing occurs in the input line; basic operations are supported (left arrow, right arrow, home/end keys, insert, delete, backspace...).

PageUp and PageDown keys are used to move in the roster.

Up and Down arrow keys can be used to move in the input line history; they jump to the previous/next line from the history beginning with the same string (from first column to the cursor column).

To send a message, move to the chosen buddy in the buddylist, type your message and hit enter. If the line begins with a slash, this will be interpreted as a command (see the COMMAND section below). Hit escape to leave the chat mode.

Here is a quick description of the default key bindings:


Disable chat mode


Go to the beginning of the input line


Go to the end of the input line


Force a refresh


Move in the input line history


Move inside the roster (buddylist)


Complete current word, in the input line


Cancel completion


Abort multi-line messages and completions


Send/terminate a multi-line message


Scroll up/down half a screen in the buffer window (chat mode)


Move the cursor back to the start of the current or previous word


Move the cursor forward to the end of the current or next word


Delete from beginning of the line to the cursor


Delete from the cursor to the end of line


Backward kill word


Transpose chars


Accept line and put the next history line in the input line (accept-line-and-down-history)

Additional key bindings may be specified using the /bind command described in the Commands section.

Vi Mode

If the "vi_mode" option is set to 1, mcabber(1) accepts a few commands loosely based on those available in vi(1)'s normal mode. In this case, chat mode is not entered by pressing enter, and messages cannot be composed outside of the chat mode. The following commands are accepted:


Call "/roster unread_first".


Call "/roster unread_next".


Call "/roster group_prev".


Call "/roster group_next".


Call "/roster bottom".


Call "/roster top".


Enter chat mode.


Call "/roster down [N]".


Call "/roster up [N]".


Repeat the previous search (if any).


Call "/roster unread_first" and open chat window.


Call "/roster unread_next" and open chat window.


Call "/quit".


Call "/group fold" for all groups.


Call "/group unfold" for all groups.


Call "/roster alternate".


Toggle attention flag for current buddy.


Toggle unread messages flag for current buddy.


Call "/group toggle" for the current group.

A leading slash enables search mode:


Call "/roster search string".

A leading colon enabled command-line mode:

above commands).

Commands entered with a leading colon and searches are either submitted by pressing enter or aborted by hitting escape. In either case, mcabber(1) returns to the normal (non-chat) mode. History editing is supported in command-line mode and in search mode. In command-line mode, tab completion is supported as well.

Mcabber’s Roster

The first listed item on the roster is [status], which keeps a log of everything that appears in the short log window below the main chat area. While the log window was designed for showing the latest few elements, the dedicated [status] buffer allows more comfortable viewing of the log, as well as scrolling it in a standard manner.

Group names are displayed above the items that are within them, and are indicated by --- to the left of the name.

For every real Jabber contact, the roster displays four pieces of information: the buddy’s name or alias, its online status, its authorization status, and whether there are unread messages from the buddy waiting for you.

The online status is one of the following:




free for chat




not available (labeled extended away in some clients)


do not disturb


offline (or invisible to you)


unknown, usually meaning you are not authorized to see this buddy’s status


a conference room in which you are not participating


a conference room in which you are participating

The authorization status indicates whether a buddy is authorized to receive your online status updates, and is displayed by the brackets surrounding the buddy’s online status. Square brackets, like [o], indicate that this buddy is authorized to receive your status. Curly braces, like {o}, indicate that they are not authorized to receive your status.

When there are unread messages from a buddy which you have not looked at, a hash mark (#) appears in the leftmost section of the roster for that buddy. The hash mark disappears once you view that buddy’s message buffer. When the user attention is requested (or when you receive a message containing your nickname in a MUC room), the hash mark is replaced with the attention sign, an exclamation mark (!).


' --- Buds'

This is a group named Buds

#[o] John

John is online, can see your status, and sent you a message that you did not read yet

' {?} Sally'

Neither you nor Sally have authorized each other to see your online status

' {a} Jane'

Jane is away, but she cannot see your online status

#[C] x@y.c

You are participating in x@y.c conference room, and there are unread messages


Please refer to the online help (command /help), it is probably more up-to-date than this manpage. Furthermore, help files have been translated into several languages. You will find an overview of the mcabber commands in this manual.

Configuration File

See the provided sample configuration file, which should be self-documenting.


The following files can be used by mcabber(1):

$HOME/.mcabber/mcabberrc    Default configuration file
$HOME/.config/mcabber/mcabberrc Alternate location (can use XDG_CONFIG_HOME)
$HOME/.mcabberrc            Configuration file used if no other has been found
$HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled
/usr/share/mcabber/help/    Default directory for online help files
/usr/lib/mcabber/           Default directory for modules


Certainly. Please tell me if you find one! :-) Please visit our website to find out about the MUC room and the bug tracker.


Written by Mikael BERTHE[1] and others (see AUTHORS file).


Main web site[2]

Official wiki[3]

MCabber MUC room[4]


Copyright (C) 2005-2021 Mikael Berthe and others.

Free use of this software is granted under the terms of the GNU General Public License (GPL).


Mikael BERTHE <>



  1. Mikael BERTHE
  2. Main web site
  3. Official wiki
  4. MCabber MUC room


October 2021 1.1.3-dev