view mcabber/doc/mcabber.1.txt @ 480:882e1acae422

Add /say_to command
author Mikael Berthe <>
date Tue, 04 Oct 2005 19:47:50 +0200
parents fa49ac0bb8f3
children b03def7beb78
line wrap: on
line source

Mikael BERTHE <>
v0.6.9-dev, September 2005

mcabber - a simple Jabber console client

'mcabber' [ -f configfile ] [ --help | -h ]

`mcabber(1)` is a small Jabber 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.

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'.

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

Here are some of the features of `mcabber`:

- 'SSL support'.
- 'MUC support' (Multi-User Chat).
- 'History logging:'  If enabled (see the CONFIGURATION FILE section),
  `mcabber` can save discussions to history log files.
- 'Commands completion:'  If possible, `mcabber` will try to complete your
  command line if you hit the Tab key.
- 'External actions:'  Some events (like receiving a message) can trigger an
  external action, for example a shell script (you need to enable it in your
  configuration file).  A sample events script ("eventcmd") is provided with
  `mcabber` source code, in the contrib directory.

--help, -h::
        Quick help usage message

-f configfile::
        Use configuration file 'configfile'


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.

To send a message, move to the choosen 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 key bindings:

Ctrl-a::        Go to the beginning of the input line
Ctrl-e::        Go to the end of the input line
Ctrl-l::        Force a resize
PgUp/PgDown::   Move inside the roster (buddylist)
Tab::           Complete current word, in the input line
Ctrl-g::        Cancel completion / ctrl-g
Ctrl-p/Ctrl-n:: Scroll up/down half a screen in the buffer window (chat mode)
Ctrl-u::        Delete from beginning of the line to the cursor
Ctrl-k::        Delete from the cursor to the end of line
Ctrl-w::        Backward kill word
Ctrl-t::        Transpose chars
Ctrl-o::        Accept line and put the next history line in the input line (accept-line-and-down-history)
Ctrl-q::        Jump to the next unread message


/add jid [nickname]::
        Add the 'jid' Jabber user to our roster (default group), and send a
        notification request to this buddy.  If no nickname is specified, the
        jid is used.

/alias name = command line::
        Add "name" as an alias for "command line". +
        Aliases are expanded only once, thus they can not be chained. +
        "/alias name" displays the value associated with the "name" alias;
        "/alias name =" unsets the "name" alias. +
        Example: "/alias away = status away".

/bind keycode = command line::
        Bind a command line to the key with the "keycode" code number. +
        Keycodes of unused keys are displayed by `mcabber` in the log window
        when pressing the key, for example "Unknown key=265". +
        "/bind keycode" displays the command line bound to the given keycode;
        "/bind keycode" unbinds the given keycode. +
        Note: aliases can be used in key bindings. +
        Example: "/bind 265 = status online" (265 is F1 for me, but it may
        depend on your ncurses installation).

/buffer clear|top|bottom|search_backward|search_forward|date|%::
        The 'buffer' command manipulates the current buddy's buffer
        (chat window).

        'clear';;                clear the current buddy chat window
        'top';;                  jump to the top of the current buddy chat buffer
        'bottom';;               jump to the bottom of the current buddy chat buffer
        'search_backward' text;; search for text in the current buddy chat buffer
        'search_forward'  text;; search for text in the current buddy chat buffer
        'date' date;;            jump to the first line after the specified date in the chat buffer (date format: "YYYY-mm-dd[THH:MM:SS]", "-" and ":" are optional)
        '%' n;;                  jump to position %n of the buddy chat buffer

        The 'clear' command is actually an alias for "/buffer clear".

        Establish connection to the Jabber server.

        Delete the current buddy from our roster, unsubscribe from its presence
        notification and unsubscribe it from ours.

        Terminate connection to the Jabber server.  Note: the roster is only
        available when the connection to the server is active, so the
        buddylist is empty when disconnected.

/group fold|unfold|toggle::
        The 'group' command changes the current group display.

        'fold';; fold (shrink) the current group tree in the roster
        'unfold';; unfold (expand) the current group tree in the roster
        'toggle';; toggle the state (fold/unfold) of the current tree

        Display info on the selected entry (user, agent, group...). +
        For users, resources are displayed with the status, priority and
        status message (if available) of each resource.

/move [groupname]::
        Move the current buddy to the requested group.  If no group is
        specified, then the buddy is moved to the default group.
        This command only works with users (not agents), at the moment.

/msay begin|verbatim|send|abort::
        Send a multi-line message.  To write a single message with several
        lines, the 'multi-line mode' should be used. +
        In multi-line mode, each line (except command lines) typed in the input
        line will be added to the multi-line message.  Once the message is
        finished, it can be sent to the current selected buddy with the "/msay
        send" command. +
        The 'verbatim' multi-line mode disables commands, so that it is
        possible to enter lines starting with a slash.  Only the "/msay"
        command (with send or abort parameters) can be used to exit verbatim

        'begin';; enter multi-line mode
        'verbatim';; enter verbatim multi-line mode
        'send';; send the current multi-line message to the currently selected buddy
        'abort';; leave multi-line mode without sending the message

        Disconnect and leave `mcabber(1)`.

/rawxml send::
        'send' string: send string (raw XML format) to the Jabber server.  No check is done on the string provided.  BEWARE! Use this only if you know what you are doing, or you could terminate the connection.

/rename nickname::
        Rename current buddy to the given nickname.
        This command does not work for groups, at the moment (but you can move
        the buddies to another group with the "/move" command).

/room join|leave|names|nick|remove|topic|unlock::
        The 'room' command handles Multi-User Chat room actions.

        'join' room nick;;  join "room", using "nick" as nickname
        'leave';;           leave the current room
        'names';;           display members of the current room
        'nick' nick;;       change your nickname in the current room
        'remove';;          remove the current room from the roster (you must have left this room before)
        'topic';;           set topic for current room
        'unlock';;          unlock current room (if you are the owner)

/roster bottom|top|hide_offline|show_offline|toggle_offline::
/roster alternate|unread_first|unread_next::
/roster search bud::
        The 'roster' command manipulates the roster/buddylist.  Here are the available parameters:

        'bottom';;       jump to the bottom of the roster
        'top';;          jump to the top of the roster
        'up';;           move up in the roster
        'down';;         move down in the roster
        'hide_offline';; hide offline buddies
        'show_offline';; show offline buddies
        'toggle_offline';; toggle display of offline buddies
        'search' bud;;   search for a buddy with a name or buddy containing "bud" (only in the displayed buddylist)
        'alternate';;    jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first")
        'unread_first';; jump to the first unread message
        'unread_next';;  jump to the next unread message

/say text::
        Send the text message to the currently selected buddy.  Can be useful
        if you want to send a message beginning with a slash, for example.

/say_to jid text::
        Send the text message to the specified jid.
        Please note that this command doesn't set the default resource for
        a contact, so if you want to send several messages to a specific
        ressource you will have to use "/say_to" for each message.

/status [online|avail|invisible|free|dnd|notavail|away [StatusMessage]]::
        Set the current status.  If no status is specified, display the
        current status. +
        If a status message is specified, it will overrride the message*

/status_to jid online|avail|invisible|free|dnd|notavail|away [StatusMessage]::
        Send the requested status to the specified Jabber user. +
        Note: this status will be overridden by subsequent "/status" commands.
        If you are using the auto-away feature, the status will overridden
        too. +
        Note: The jid can include a resource (i.e. user@server/resource).

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

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

    $HOME/.mcabber/mcabberrc    Default configuration file
    $HOME/.mcabberrc            Configuration file used if no other has been found
    $HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled

Certainly.  Please tell me if you find one!  :-)

Written by[Mikael BERTHE]. +
Originally based on[Cabber], please
consult the AUTHORS file for details.

---------[Main web site]

Copyright (C) 2005 Mikael Berthe. +
Some portions are Copyright (C) 2002-2004[].

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