MCABBER(1) | MCABBER(1) |
mcabber - 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:
-h
-V
-f 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:
Esc
Ctrl-a
Ctrl-e
Ctrl-l
Up/Down
PgUp/PgDown
Tab
Ctrl-g
Ctrl-c
Ctrl-d
Ctrl-p/Ctrl-n
Ctrl-Left
Ctrl-Right
Ctrl-u
Ctrl-k
Ctrl-w
Ctrl-t
Ctrl-o
Additional key bindings may be specified using the /bind command described in the COMMANDS section.
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:
A
a
F
f
G
gg
i
[N]j
[N]k
n
O
o
ZZ
zM
zR
''
!
#
<Space>
A leading slash enables search mode:
/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.
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:
o
f
a
n
d
_
?
x
C
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 (!).
Examples:
' --- Buds'
#[o] John
' {?} Sally'
' {a} Jane'
#[C] x@y.c
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.
/add [jid [nickname]]
[jid [nickname]]
Example: "/add somebody@jabber.server.com Somebody"
/alias [name [= command line]]
You can manage your aliases by:
(without arguments)
name
name=
name = command line
Example: "/alias away = status away"
/authorization allow|cancel|request|request_unsubscribe [jid]
If no JID is provided, the currently-selected buddy is used.
allow
cancel
request
request_unsubscribe
/bind [keycode [= command line]]
(without arguments)
keycode
keycode=
keycode = command line
Example: "/bind 265 = status away" (265 is F1). + Note: keycodes can be different depending on your ncurses configuration. + Tip: aliases also can be used instead of commands.
/buffer clear|close|close_all|purge|list, /buffer top|bottom|date|%|search_backward|search_forward, /buffer scroll_lock|scroll_unlock|scroll_toggle, /buffer save filename
clear
close [jid]
close_all
purge [jid]
list
top
bottom
up [n]
down [n]
date [date]
% n
search_backward text
search_forward text
scroll_lock
scroll_unlock
scroll_toggle
save filename
/chat_disable [--show-roster]
With --show-roster, the fullscreen mode will be disabled.
/clear
/color roster (status wildcard (color|-)|clear), /color mucnick nick (color|-), /color muc (jid|.|*) [on|preset|off|-]
roster clear
roster status wildcard color
mucnick nick (color|-)
muc (jid|.|*) [on|preset|off|-]
/connect
/del
/disconnect
Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
/echo message
/event #n|* accept|ignore|reject [event-specific arguments], /event list
If the first parameter is *, the command will apply to all queued events.
Event-specific arguments will be interpreted on event-to event basis. The only built-in case, when argument is used is MUC invitation reject - argument, if present, will be interpreted as reject reason.
#N|* accept [event-specific arguments]
#N|* ignore [event-specific arguments]
#N|* reject [event-specific arguments]
list
/group fold|unfold|toggle [groupname]
fold [groupname]
unfold [groupname]
toggle [groupname]
/help [command|+topic]
Example: "/help buffer"
/iline fchar|bchar|char_fdel|char_bdel|char_swap, /iline fword|bword|word_bdel|word_fdel, /iline word_upcase|word_downcase|word_capit, /iline hist_beginning_search_bwd|hist_beginning_search_fwd, /iline hist_prev|hist_next, /iline iline_start|iline_end|iline_fdel|iline_bdel, /iline iline_accept|iline_accept_down_hist, /iline compl_do|compl_cancel, /iline send_multiline
fchar
bchar
char_fdel
char_bdel
char_swap
fword
bword
word_bdel
word_fdel
word_upcase
word_downcase
word_capit
hist_beginning_search_bwd
hist_beginning_search_fwd
hist_prev
hist_next
iline_start
iline_end
iline_fdel
iline_bdel
iline_accept
iline_accept_down_hist
compl_do
compl_cancel
send_multiline
/info
For users, resources are displayed with the status, priority and status message (if available) of each resource.
/module load|unload [-f] module, /module info module, /module [list]
load [-f] module
unload [-f] module
info module
[list]
/move [groupname]
Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
/msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
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 begin subcommand enables multi-line mode. Note that it allows a message subject to be specified.
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 mode.
The toggle subcommand can be bound to a key to use the multi-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta-Enter combination).
begin [subject]
verbatim
send [-n|-h]
send_to [-n|-h] jid
toggle|toggle_verbatim
abort
The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.
/otr key, /otr start|stop|info [jid], /otr fingerprint [jid [fpr]], /otr smpq|smpr [jid] secret, /otr smpa [jid]
key
start [jid]
stop [jid]
info [jid]
fingerprint [jid [fpr]]
smpq [jid] secret
smpr [jid] secret
smpa [jid]
/otrpolicy, /otrpolicy (default|jid) (plain|manual|opportunistic|always)
(without arguments)
(default|jid) (plain|manual|opportunistic|always)
/pgp disable|enable|force|info [jid], /pgp setkey [jid [key]]
Please note that PGP encryption won’t be used if no remote PGP support is detected, even if PGP is enabled with this command. You can force PGP encryption with the "force" subcommand.
disable [jid]
enable [jid]
force [jid]
info [jid]
setkey [jid [key]]
/quit
/rawxml send string
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.
Example: "/rawxml send <presence><show>away</show></presence>"
/rename name
/request last|ping|time|vcard|version [jid]
last
ping
time
vcard
version
/room join|leave|names|nick|remove|topic|unlock|destroy, /room privmsg|invite|whois|kick|ban|unban|role|affil, /room setopt print_status|auto_whois [value], /room bookmark [add|del] [-autojoin|+autojoin] [-|nick]
join [room [nick [pass]]]
leave [message]
names [--detail|--short|--quiet|--compact]
nick newnick
privmsg nick msg
remove
topic -|newtopic
unlock
destroy [reason]
whois nick
ban jid [reason]
unban jid
invite jid [reason]
kick nick [reason]
role nick role [reason]
affil jid affil [reason]
setopt print_status|auto_whois [value]
bookmark [add|del] [-autojoin|+autojoin] [-|nick]
/roster bottom|top|up|down|group_prev|group_next, /roster alternate|unread_first|unread_next, /roster search bud, /roster display|hide_offline|show_offline|toggle_offline, /roster item_lock|item_unlock|item_toggle_lock, /roster hide|show|toggle, /roster note [-|text]
Here are the available parameters:
bottom
top
up [n]
down [n]
group_prev
group_next
alternate
unread_first
unread_next
search bud
display [mask]
hide_offline
show_offline
toggle_offline
item_lock [jid]
item_unlock [jid]
item_toggle_lock [jid]
hide
show
toggle
note [-|text]
/say [-n|-h|--] text
The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat message beginning with -n or -h.
/say_to [-n|-h] [-q] [-f file] jid text
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 resource you will have to use "/say_to" for each message.
You can send a message to a specific resource of the currently selected contact by using /say_to ./resourcename message.
The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat messages beginning with -n or -h.
When "-q" is used, the message will be sent in the background and will not change the current active window.
A text file can be provided with the "-f" switch (in which case there’s no need to pass a text argument after the jid, of course).
/screen_refresh
/set [option [= value]]
Without arguments prints a list of all set options with their values
/source pattern
/status [online|avail|free|dnd|notavail|away [-|statusmessage]], /status message -|statusmessage
If no status is specified, display the current status.
If a status message is specified, it will override the message* variables (these variables can be set in the configuration file).
If no relevant message* variable is set and no status message provided, the current status message is kept.
If StatusMessage is "-", the current status message is cleared.
With the "/status message" command, mcabber will update the message while preserving the status.
/status_to jid online|avail|free|dnd|notavail|away [statusmessage], /status_to jid message statusmessage
If the specified jid is ".", the current buddy is used.
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).
/version
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-2017 Mikael Berthe and others.
Free use of this software is granted under the terms of the GNU General Public License (GPL).
Mikael BERTHE <mcabber@lilotux.net>
May 2017 | 1.1.0 |