1MCABBER(1) MCABBER(1)
2
3
4
6 mcabber - a simple Jabber console client
7
9 mcabber [ -h | -V | -f configfile ]
10
11
13 mcabber(1) is a small Jabber console client. For now it needs a
14 configuration file to start, so please copy the sample mcabberrc file
15 and adapt your connection settings.
16
17 You also need to have an existing Jabber account to use this software,
18 as it cannot (un)register accounts yet.
19
20 Here are some of the features of mcabber:
21
22
23 · SSL support.
24
25 · MUC support (Multi-User Chat).
26
27 · PGP support
28
29 · Chat States support (typing notifications)
30
31 · History logging: If enabled (see the CONFIGURATION FILE section),
32 mcabber can save discussions to history log files.
33
34 · Commands completion: If possible, mcabber will try to complete
35 your command line if you hit the Tab key.
36
37 · Input line history: Any message or command entered is in the input
38 line history and can be reused easily.
39
40 · External actions: Some events (like receiving a message) can
41 trigger an external action such as a shell script if you enable it
42 in your configuration file. A sample events script ("eventcmd") is
43 provided with mcabber source code, in the contrib directory.
44
46 --help, -h
47 Quick help usage message
48
49 -f configfile
50 Use configuration file configfile
51
53 The mcabber(1) screen is divided into 4 regions. The roster, alias
54 buddylist, is on the left. The chat window, or chat buffer, is on the
55 right. The input line lies at the bottom of the screen, under a small
56 log window.
57
58 Two status lines surround the log window. The bottom status line is the
59 "main status line" and reflects mcabber general status. The other line
60 is the "chat status line" and shows the status of the currently
61 selected buddy.
62
63 To display buddies chat buffers, you will have to enter chat mode. You
64 can enter chat mode by pressing enter, and leave chat mode with the ESC
65 key. Simply sending a message will also enable chat mode.
66
67 There are several advantages to the two-mode implementation: first, it
68 allows accurate "unread" message functionality, as described in the
69 next section; without this, merely scrolling to a specific buddy will
70 "read" the new messages of all buddies in-between. Second, it allows
71 quickly hiding the conversation with a single keystroke. Third, it
72 allows jumping between the few buddies with whom you are conversing
73 with the /roster alternate command described in another section,
74 without having to manually scroll back and forth.
75
76
78 Text typing occurs in the input line; basic operations are supported
79 (left arrow, right arrow, home/end keys, insert, delete, backspace...).
80
81 PageUp and PageDown keys are used to move in the roster.
82
83 Up and Down arrow keys can be used to move in the input line history;
84 they jump to the previous/next line from the history beginning with the
85 same string (from first column to the cursor column).
86
87 To send a message, move to the choosen buddy in the buddylist, type
88 your message and hit enter. If the line begins with a slash, this will
89 be interpreted as a command (see the COMMAND section below). Hit escape
90 to leave the chat mode.
91
92 Here is a quick description of the key bindings:
93
94
95 Esc Disable chat mode
96
97 Ctrl-d Send/terminate a
98 multi-line message
99
100 Ctrl-p/Ctrl-n Scroll up/down half a
101 screen in the buffer
102 window (chat mode)
103
104 Ctrl-Left Move the cursor back to
105 the start of the current
106 or previous word
107
108 Ctrl-Right Move the cursor forward to
109 the end of the current or
110 next word
111
112 Ctrl-u Delete from beginning of
113 the line to the cursor
114
115 Ctrl-k Delete from the cursor to
116 the end of line
117
118 Ctrl-w Backward kill word
119
120 Ctrl-t Transpose chars
121
122 Ctrl-o Accept line and put the
123 next history line in the
124 input line
125 (accept-line-and-down-history)
126
127 Ctrl-a Go to the beginning of the
128 input line
129
130
131
132
133 Ctrl-e Go to the end of the input
134 line
135
136 Ctrl-l Force a refresh
137
138 Up/Down Move in the input line history
139
140 PgUp/PgDown Move inside the roster
141 (buddylist)
142
143 Tab Complete current word, in the
144 input line
145
146 Ctrl-g Cancel completion
147
148 Ctrl-c Abort multi-line messages and
149 completions
150
151
152 Additional key bindings may be specified using the /bind command
153 described in the COMMANDS section.
154
155
157 The first listed resource on the roster is [status], which keeps a log
158 of everything that appears in the short log window below the main chat
159 area. While the log window was designed for showing the latest few
160 elements, the dedicated [status] buffer allows more comfortable viewing
161 of the log, as well as scrolling it in a standard manner.
162
163 Group names are displayed above the resources that are within them, and
164 are indicated by --- to the left of the name.
165
166 For every real Jabber resource, the roster displays four pieces of
167 information: the resource's name or alias, its online status, its
168 authorization status, and whether there are unread messages from the
169 resource waiting for you.
170
171 The online status is one of the following:
172
173
174 o online
175
176 C a conference room in which
177 you are participating
178
179 f free for chat
180
181 a away
182
183 n not available (labeled
184 extended away in some
185 clients)
186
187 d do not disturb
188
189 i invisible (displayed only
190 for your resource)
191
192 _ offline (or invisible to
193 you)
194
195
196
197
198
199 ? unknown, usually meaning
200 you are not authorized to
201 see this resource's status
202
203 x a conference room in which
204 you are not participating
205
206
207 The authorization status indicates whether a resource is authorized to
208 receive your online status updates, and is displayed by the brackets
209 surrounding the resource's online status. Square brackets, like [o],
210 indicate that this resource is authorized to receive your status. Curly
211 braces, like {o}, indicate that they are not authorized to receive your
212 status.
213
214 When there are unread messages from the resource which you have not
215 looked at, a hash mark (#) appears in the leftmost section of the
216 roster for that resource. The hash mark disappears once you view that
217 resource's message log.
218
219 Examples:
220
221
222 --- Buds This is a group named Buds
223
224 #[o] John John is online, can see
225 your status, and sent you
226 a message that you did not
227 read yet
228
229 {?} Sally Neither you nor Sally have
230 authorized each other to
231 see your online status
232
233 {a} Jane Jane is away, but she
234 cannot see your online
235 status
236
237 #[C] x@y.c You are participating in
238 x@y.c conference room, and
239 there are unread messages
240
241
242
244 Please refer to the online help (command /help), it is probably more
245 up-to-date than this manpage. Furthermore, help files have been
246 translated into several languages. You will find an overview of the
247 mcabber commands in this manual.
248
249
251 /alias [name [= command line]]
252 Add "name" as an alias for "command line". Aliases are expanded
253 only once, thus they can not be chained. "/alias name" displays
254 the value associated with the "name" alias; "/alias name =" unsets
255 the "name" alias. "/alias" displays a list of the existing
256 aliases. Example: "/alias away = status away".
257
258 /bind [keycode [= command line]]
259 Bind a command line to the key with the "keycode" code number.
260 Keycodes of unused keys are displayed by mcabber in the log window
261 when pressing the key, for example "Unknown key=265". "/bind
262 keycode" displays the command line bound to the given keycode;
263 "/bind keycode =" unbinds the given keycode. "/bind" displays a
264 list of the bound keycodes. Note: aliases can be used in key
265 bindings. Example: "/bind 265 = status online" (265 is F1 for me,
266 but it may depend on your ncurses installation).
267
268 /buffer clear|close|close_all|purge, /buffer
269 top|bottom|date|%|search_backward|search_forward, /buffer
270 scroll_lock|scroll_unlock|scroll_toggle
271 The buffer command manipulates the current buddy's buffer (chat
272 window).
273
274 clear clear the current buddy
275 chat window
276 close empty all contents of the
277 buffer and close the
278 current buddy chat window
279 close_all empty all contents of the
280 chat buffers and close the
281 chat windows
282 purge clear the current buddy
283 chat window and empty all
284 contents of the chat
285 buffer
286 top jump to the top of the
287 current buddy chat buffer
288 bottom jump to the bottom of the
289 current buddy chat buffer
290 up [n] scroll the buffer up n
291 lines (default: half a
292 screen)
293 down [n] scroll the buffer down n
294 lines (default: half a
295 screen)
296 date date jump to the first line
297 after the specified date
298 in the chat buffer (date
299 format:
300 "YYYY-mm-dd[THH:MM:SS]",
301 "-" and ":" are optional)
302 % n jump to position %n of the
303 buddy chat buffer
304 search_backward text search for "text" in the
305 current buddy chat buffer
306 search_forward text search for "text" in the
307 current buddy chat buffer
308 scroll_lock lock buffer scrolling
309 scroll_unlock unlock buffer scrolling
310 scroll_toggle toggle buffer scrolling
311 (lock/unlock)
312
313
314 /clear
315 The clear command is actually an alias for "/buffer clear".
316
317 /help [command]
318 Display generic help or help about a specific mcabber command.
319
320 /quit
321 Disconnect and leave mcabber(1).
322
323 /set option[=value]
324 Display or set an option value.
325
326 /source [file]
327 Read a configuration file.
328
329 /version
330 Display mcabber version
331
333 /connect
334 Establish connection to the Jabber server.
335
336 /disconnect
337 Terminate connection to the Jabber server. Note: the roster is only
338 available when the connection to the server is active, so the
339 buddylist is empty when disconnected.
340
341 /event #n|* accept|ignore|reject, /event list
342 Tell mcabber what to do about a pending event. If the first
343 parameter is "*", the command will apply to all queued events.
344
345 accept accept the event #n
346 ignore remove the event #n from
347 the list
348 reject reject the event #n
349 list list all pending events
350
351
352 /rawxml send string
353
354 send string: send string (raw XML format) to the Jabber server. No
355 check is done on the string provided. BEWARE! Use this only if you
356 know what you are doing, or you could terminate the connection.
357
359 /add [jid [nickname]]
360 Add the "jid" Jabber user to our roster (default group), and send a
361 notification request to this buddy. If no nickname is specified,
362 the jid is used. If no jid (or an empty string "") is provided or
363 if jid is ".", the current buddy is used.
364
365 /authorization allow|cancel|request|request_unsubscribe [jid]
366 Manage the presence subscriptions. If no jid is provided, the
367 current buddy is used.
368
369 allow allow the buddy to receive
370 your presence updates
371 cancel cancel the buddy'
372 subscription to your
373 presence updates
374 request request a subscription to
375 the buddy's presence
376 updates
377 request_unsubscribe request unsubscription
378 from the buddy's presence
379 updates
380
381
382 /del
383 Delete the current buddy from our roster, unsubscribe from its
384 presence notification and unsubscribe it from ours.
385
386 /group fold|unfold|toggle
387 The group command changes the current group display.
388
389 fold fold (shrink) the current
390 group tree in the roster
391 unfold unfold (expand) the
392 current group tree in the
393 roster
394
395
396
397 toggle toggle the state
398 (fold/unfold) of the
399 current tree
400
401
402 /info
403 Display info on the selected entry (user, agent, group...). For
404 users, resources are displayed with the status, priority and status
405 message (if available) of each resource.
406
407 /move [groupname]
408 Move the current buddy to the requested group. If no group is
409 specified, then the buddy is moved to the default group. If the
410 group groupname doesn't exist, it is created. Tip: if the chatmode
411 is enabled, you can use "/roster alternate" to jump to the moved
412 buddy.
413
414 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
415 Send a multi-line message. To write a single message with several
416 lines, the multi-line mode should be used. In multi-line mode, each
417 line (except command lines) typed in the input line will be added
418 to the multi-line message. Once the message is finished, it can be
419 sent to the current selected buddy with the "/msay send" command
420 (or Ctrl-d). The begin subcommand enables multi-line mode. Note
421 that it allows a message subject to be specified. The verbatim
422 multi-line mode disables commands, so that it is possible to enter
423 lines starting with a slash. Only the "/msay" command (with send or
424 abort parameters) can be used to exit verbatim mode. The toggle and
425 toggle_verbatim subcommands can be bound to a key to use the
426 multi-line mode quickly (for example, "bind M109 = msay toggle" to
427 switch using the Meta-m combination).
428
429 begin [subject] enter multi-line mode
430 verbatim enter verbatim multi-line
431 mode
432 send send the current
433 multi-line message to the
434 currently selected buddy
435 send_to jid send the current
436 multi-line message to
437 "jid"
438 toggle switch to/from multi-line
439 mode (begin/send)
440 toggle_verbatim same with verbatim
441 multi-line mode
442 abort leave multi-line mode
443 without sending the
444 message
445
446
447 /pgp disable|enable|force|info [jid], /pgp setkey [jid [key]]
448 Manipulate PGP settings for the specified jid (by default the
449 currently selected contact). Please note that PGP encryption won't
450 be used if no remote PGP support is detected, even if PGP is
451 enabled with this command.
452
453 disable [jid] disable PGP encryption for
454 jid (or the currently
455 selected contact)
456 enable [jid] enable PGP encryption for
457 jid (or the currently
458 selected contact)
459
460
461
462
463 force [jid] enforce PGP encryption,
464 even for offline messages,
465 and always assume the
466 recipient has PGP support
467 info [jid] show current PGP settings
468 for the contact
469 setkey [jid [key]] set the PGP key to be used
470 to encrypt message for
471 this contact. If no key is
472 provided, the current key
473 is erased. You can use the
474 shortcut-jid "." for the
475 currently selected
476 contact.
477
478
479 /rename name
480 Rename current buddy or group to the given name. Please note that a
481 group name change is only done when the server's acknowledgment is
482 received, so a slight delay can be noticed.
483
484 /request last|time|vcard|version [jid]
485 Send a "IQ" query to the current buddy, or to the specified Jabber
486 user. If the resource is not provided with the jid, mcabber will
487 send the query to all known resources for this user.
488
489 /room join|leave|names|nick|privmsg|remove|topic|unlock|destroy, /room
490 invite|kick|ban|role|affil, /room bookmark [add|del]
491 [-autojoin|+autojoin]
492 The room command handles Multi-User Chat room actions.
493
494 join [room [nick [pass]]] join "room", using "nick"
495 as nickname. If no
496 nickname is provided (or
497 if it is an empty string),
498 the "nickname" option
499 value is used (see sample
500 configuration file). If
501 the currently selected
502 entry is correctly
503 recognized as a room by
504 mcabber, the shortcut "."
505 can be used instead of the
506 full room id. A password
507 can be provided to enter
508 protected rooms. If your
509 nickname contains space
510 characters, use quotes.
511 whois nick display MUC information
512 about "nick"
513 ban jid [reason] ban jid from the current
514 room
515 invite jid [reason] invite jid to the current
516 room
517 kick nick [reason] kick "nick" from the
518 current room
519 role jid role [reason] change jid's role (role
520 can be "none", "visitor",
521 "participant",
522 "moderator")
523
524
525
526
527
528
529 affil jid affil [reason] change jid's affiliation
530 (affil can be "none",
531 "member", "admin",
532 "owner") bookmark
533 add/update/remove a room
534 bookmark, set/unset
535 autojoin
536 leave [message] leave the current room
537 names display the members of the
538 [--detail|--short|--quiet] current room
539 nick nick change your nickname in
540 the current room
541 privmsg nick msg send private message "msg"
542 to "nick"
543 remove remove the current room
544 from the roster (you must
545 have left this room
546 before)
547 topic set topic for current room
548 unlock unlock current room (if
549 you are the owner)
550 destroy [reason] destroy the current room
551 (use with care!)
552
553
554 /roster bottom|top|up|down|group_prev|group_next, /roster
555 alternate|unread_first|unread_next, /roster search bud, /roster
556 hide_offline|show_offline|toggle_offline, /roster
557 item_lock|item_unlock, /roster hide|show|toggle, /roster note [-|text]
558 The roster command manipulates the roster/buddylist. Here are the
559 available parameters:
560
561 bottom jump to the bottom of the
562 roster
563 search bud search for a buddy with a
564 name or jid containing
565 "bud" (only in the
566 displayed buddylist)
567 hide_offline hide offline buddies
568 show_offline show offline buddies
569 toggle_offline toggle display of offline
570 buddies
571 item_lock jid lock the roster item so it
572 remains visible regardless
573 of its status
574 item_unlock jid undo the effects of
575 item_lock
576 hide hide roster (full-width
577 chat window)
578 show show roster
579 toggle toggle roster visibility
580 note [text] display or set an
581 annotation (if text is
582 "-", the annotation is
583 deleted). In the "status"
584 buffer, it will display
585 all annotations.
586 top jump to the top of the
587 roster
588 up move up in the roster
589 down move down in the roster
590 group_prev jump to the previous group
591 in the roster
592 group_next jump to the next group in
593 the roster
594
595 alternate jump to alternate buddy.
596 The "alternate" buddy is
597 the last buddy left while
598 being in chat mode (this
599 command is thus especially
600 useful after commands like
601 "/roster unread_first")
602 unread_first jump to the first unread
603 message
604 unread_next jump to the next unread
605 message
606
607
608 /say text
609 Send the "text" message to the currently selected buddy. Can be
610 useful if you want to send a message beginning with a slash, for
611 example.
612
613 /say_to jid text
614 Send the "text" message to the specified jid. Please note that this
615 command doesn't set the default resource for a contact, so if you
616 want to send several messages to a specific resource you will have
617 to use "/say_to" for each message.
618
619 /status [online|avail|invisible|free|dnd|notavail|away
620 [-|StatusMessage]]
621 Show or set the current status. If no status is specified, display
622 the current status. If a status message is specified, it will
623 overrride the message* variables (these variables can be set in the
624 configuration file). If no relevant message* variable is set and no
625 status message provided, the current status message is kept. If
626 StatusMessage is "-", the current status message is cleared.
627
628 /status_to jid online|avail|invisible|free|dnd|notavail|away
629 [StatusMessage]
630 Send the requested status to the specified Jabber user. If the
631 specified jid is ".", the current buddy is used. Note: this status
632 will be overridden by subsequent "/status" commands. If you are
633 using the auto-away feature, the status will overridden too. Note:
634 The jid can include a resource (i.e. user@server/resource).
635
637 See the provided sample configuration file, which should be
638 self-documenting.
639
640
642 The following files can be used by mcabber(1):
643
644
645 $HOME/.mcabber/mcabberrc Default configuration file
646 $HOME/.mcabberrc Configuration file used if no other has been found
647 $HOME/.mcabber/histo/ Default directory for storing chat history files, if enabled
648
650 Certainly. Please tell me if you find one! :-)
651
652
654 Written by Mikael BERTHE[1]. Originally based on Cabber[2], please
655 consult the AUTHORS file for details.
656
657
659 Main web site[3]
660
661
663 Copyright (C) 2005, 2006, 2007, 2008 Mikael Berthe. Some portions are
664 Copyright (C) 2002-2004 cabber@ajmacias.com[4].
665
666 Free use of this software is granted under the terms of the GNU General
667 Public License (GPL).
668
669
671 1. Mikael BERTHE
672 mailto:mcabber@lilotux.net
673
674 2. Cabber
675 http://cabber.sourceforge.net
676
677 3. Main web site
678 http://www.lilotux.net/~mikael/mcabber/
679
680 4. cabber@ajmacias.com
681 mailto:cabber@ajmacias.com
682
683
684
685 11/03/2007 MCABBER(1)