comparison mcabber/doc/mcabber.1.html @ 2314:0d5660c6b4aa

Update manpage
author Mikael Berthe <mikael@lilotux.net>
date Thu, 11 May 2017 14:32:24 +0200
parents 245ec6d73380
children 90b3e9876641
comparison
equal deleted inserted replaced
2313:70f8ae7d690e 2314:0d5660c6b4aa
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 1 <!DOCTYPE html>
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 2 <html lang="en">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4 <head> 3 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6 <meta name="generator" content="AsciiDoc 8.5.2" /> 5 <meta name="generator" content="AsciiDoc 8.6.9">
7 <title>MCABBER(1)</title> 6 <title>MCABBER(1)</title>
8 <style type="text/css"> 7 <style type="text/css">
9 /* Debug borders */ 8 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
10 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { 9
11 /* 10 /* Default font. */
12 border: 1px solid red; 11 body {
13 */ 12 font-family: Georgia,serif;
13 }
14
15 /* Title font. */
16 h1, h2, h3, h4, h5, h6,
17 div.title, caption.title,
18 thead, p.table.header,
19 #toctitle,
20 #author, #revnumber, #revdate, #revremark,
21 #footer {
22 font-family: Arial,Helvetica,sans-serif;
14 } 23 }
15 24
16 body { 25 body {
17 margin: 1em 5% 1em 5%; 26 margin: 1em 5% 1em 5%;
18 } 27 }
33 strong { 42 strong {
34 font-weight: bold; 43 font-weight: bold;
35 color: #083194; 44 color: #083194;
36 } 45 }
37 46
38 tt {
39 color: navy;
40 }
41
42 h1, h2, h3, h4, h5, h6 { 47 h1, h2, h3, h4, h5, h6 {
43 color: #527bbd; 48 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em; 49 margin-top: 1.2em;
46 margin-bottom: 0.5em; 50 margin-bottom: 0.5em;
47 line-height: 1.3; 51 line-height: 1.3;
48 } 52 }
49 53
57 float: left; 61 float: left;
58 } 62 }
59 h3 + * { 63 h3 + * {
60 clear: left; 64 clear: left;
61 } 65 }
66 h5 {
67 font-size: 1.0em;
68 }
62 69
63 div.sectionbody { 70 div.sectionbody {
64 font-family: serif;
65 margin-left: 0; 71 margin-left: 0;
66 } 72 }
67 73
68 hr { 74 hr {
69 border: 1px solid silver; 75 border: 1px solid silver;
75 } 81 }
76 82
77 ul, ol, li > p { 83 ul, ol, li > p {
78 margin-top: 0; 84 margin-top: 0;
79 } 85 }
80 86 ul > li { color: #aaa; }
81 pre { 87 ul > li > * { color: black; }
88
89 .monospaced, code, pre {
90 font-family: "Courier New", Courier, monospace;
91 font-size: inherit;
92 color: navy;
82 padding: 0; 93 padding: 0;
83 margin: 0; 94 margin: 0;
84 } 95 }
85 96 pre {
86 span#author { 97 white-space: pre-wrap;
98 }
99
100 #author {
87 color: #527bbd; 101 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold; 102 font-weight: bold;
90 font-size: 1.1em; 103 font-size: 1.1em;
91 } 104 }
92 span#email { 105 #email {
93 } 106 }
94 span#revnumber, span#revdate, span#revremark { 107 #revnumber, #revdate, #revremark {
95 font-family: sans-serif; 108 }
96 } 109
97 110 #footer {
98 div#footer {
99 font-family: sans-serif;
100 font-size: small; 111 font-size: small;
101 border-top: 2px solid silver; 112 border-top: 2px solid silver;
102 padding-top: 0.5em; 113 padding-top: 0.5em;
103 margin-top: 4.0em; 114 margin-top: 4.0em;
104 } 115 }
105 div#footer-text { 116 #footer-text {
106 float: left; 117 float: left;
107 padding-bottom: 0.5em; 118 padding-bottom: 0.5em;
108 } 119 }
109 div#footer-badges { 120 #footer-badges {
110 float: right; 121 float: right;
111 padding-bottom: 0.5em; 122 padding-bottom: 0.5em;
112 } 123 }
113 124
114 div#preamble { 125 #preamble {
115 margin-top: 1.5em; 126 margin-top: 1.5em;
116 margin-bottom: 1.5em; 127 margin-bottom: 1.5em;
117 } 128 }
118 div.tableblock, div.imageblock, div.exampleblock, div.verseblock, 129 div.imageblock, div.exampleblock, div.verseblock,
119 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, 130 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120 div.admonitionblock { 131 div.admonitionblock {
121 margin-top: 1.0em; 132 margin-top: 1.0em;
122 margin-bottom: 1.5em; 133 margin-bottom: 1.5em;
123 } 134 }
133 } 144 }
134 145
135 /* Block element titles. */ 146 /* Block element titles. */
136 div.title, caption.title { 147 div.title, caption.title {
137 color: #527bbd; 148 color: #527bbd;
138 font-family: sans-serif;
139 font-weight: bold; 149 font-weight: bold;
140 text-align: left; 150 text-align: left;
141 margin-top: 1.0em; 151 margin-top: 1.0em;
142 margin-bottom: 0.5em; 152 margin-bottom: 0.5em;
143 } 153 }
155 margin-top: 0.0em; 165 margin-top: 0.0em;
156 } 166 }
157 167
158 div.sidebarblock > div.content { 168 div.sidebarblock > div.content {
159 background: #ffffee; 169 background: #ffffee;
160 border: 1px solid silver; 170 border: 1px solid #dddddd;
171 border-left: 4px solid #f0f0f0;
161 padding: 0.5em; 172 padding: 0.5em;
162 } 173 }
163 174
164 div.listingblock > div.content { 175 div.listingblock > div.content {
165 border: 1px solid silver; 176 border: 1px solid #dddddd;
166 background: #f4f4f4; 177 border-left: 5px solid #f0f0f0;
178 background: #f8f8f8;
167 padding: 0.5em; 179 padding: 0.5em;
168 } 180 }
169 181
170 div.quoteblock, div.verseblock { 182 div.quoteblock, div.verseblock {
171 padding-left: 1.0em; 183 padding-left: 1.0em;
172 margin-left: 1.0em; 184 margin-left: 1.0em;
173 margin-right: 10%; 185 margin-right: 10%;
174 border-left: 5px solid #dddddd; 186 border-left: 5px solid #f0f0f0;
175 color: #777777; 187 color: #888;
176 } 188 }
177 189
178 div.quoteblock > div.attribution { 190 div.quoteblock > div.attribution {
179 padding-top: 0.5em; 191 padding-top: 0.5em;
180 text-align: right; 192 text-align: right;
181 } 193 }
182 194
183 div.verseblock > div.content { 195 div.verseblock > pre.content {
184 white-space: pre; 196 font-family: inherit;
197 font-size: inherit;
185 } 198 }
186 div.verseblock > div.attribution { 199 div.verseblock > div.attribution {
187 padding-top: 0.75em; 200 padding-top: 0.75em;
188 text-align: left; 201 text-align: left;
189 } 202 }
209 border-left: 3px solid #dddddd; 222 border-left: 3px solid #dddddd;
210 padding-left: 0.5em; 223 padding-left: 0.5em;
211 } 224 }
212 225
213 div.imageblock div.content { padding-left: 0; } 226 div.imageblock div.content { padding-left: 0; }
214 span.image img { border-style: none; } 227 span.image img { border-style: none; vertical-align: text-bottom; }
215 a.image:visited { color: white; } 228 a.image:visited { color: white; }
216 229
217 dl { 230 dl {
218 margin-top: 0.8em; 231 margin-top: 0.8em;
219 margin-bottom: 0.8em; 232 margin-bottom: 0.8em;
252 div.compact div, div.compact div { 265 div.compact div, div.compact div {
253 margin-top: 0.1em; 266 margin-top: 0.1em;
254 margin-bottom: 0.1em; 267 margin-bottom: 0.1em;
255 } 268 }
256 269
257 div.tableblock > table {
258 border: 3px solid #527bbd;
259 }
260 thead, p.table.header {
261 font-family: sans-serif;
262 font-weight: bold;
263 }
264 tfoot { 270 tfoot {
265 font-weight: bold; 271 font-weight: bold;
266 } 272 }
267 td > div.verse { 273 td > div.verse {
268 white-space: pre; 274 white-space: pre;
269 } 275 }
270 p.table {
271 margin-top: 0;
272 }
273 /* Because the table frame attribute is overriden by CSS in most browsers. */
274 div.tableblock > table[frame="void"] {
275 border-style: none;
276 }
277 div.tableblock > table[frame="hsides"] {
278 border-left-style: none;
279 border-right-style: none;
280 }
281 div.tableblock > table[frame="vsides"] {
282 border-top-style: none;
283 border-bottom-style: none;
284 }
285
286 276
287 div.hdlist { 277 div.hdlist {
288 margin-top: 0.8em; 278 margin-top: 0.8em;
289 margin-bottom: 0.8em; 279 margin-bottom: 0.8em;
290 } 280 }
337 margin-left: 0; 327 margin-left: 0;
338 width: 20%; 328 width: 20%;
339 min-width: 100px; 329 min-width: 100px;
340 } 330 }
341 331
332 div.colist td {
333 padding-right: 0.5em;
334 padding-bottom: 0.3em;
335 vertical-align: top;
336 }
337 div.colist td img {
338 margin-top: 0.3em;
339 }
342 340
343 @media print { 341 @media print {
344 div#footer-badges { display: none; } 342 #footer-badges { display: none; }
345 } 343 }
346 344
347 div#toc { 345 #toc {
348 margin-bottom: 2.5em; 346 margin-bottom: 2.5em;
349 } 347 }
350 348
351 div#toctitle { 349 #toctitle {
352 color: #527bbd; 350 color: #527bbd;
353 font-family: sans-serif;
354 font-size: 1.1em; 351 font-size: 1.1em;
355 font-weight: bold; 352 font-weight: bold;
356 margin-top: 1.0em; 353 margin-top: 1.0em;
357 margin-bottom: 0.1em; 354 margin-bottom: 0.1em;
358 } 355 }
359 356
360 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { 357 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
361 margin-top: 0; 358 margin-top: 0;
362 margin-bottom: 0; 359 margin-bottom: 0;
363 } 360 }
364 div.toclevel2 { 361 div.toclevel2 {
365 margin-left: 2em; 362 margin-left: 2em;
371 } 368 }
372 div.toclevel4 { 369 div.toclevel4 {
373 margin-left: 6em; 370 margin-left: 6em;
374 font-size: 0.9em; 371 font-size: 0.9em;
375 } 372 }
376 /* Overrides for manpage documents */ 373
377 h1 { 374 span.aqua { color: aqua; }
375 span.black { color: black; }
376 span.blue { color: blue; }
377 span.fuchsia { color: fuchsia; }
378 span.gray { color: gray; }
379 span.green { color: green; }
380 span.lime { color: lime; }
381 span.maroon { color: maroon; }
382 span.navy { color: navy; }
383 span.olive { color: olive; }
384 span.purple { color: purple; }
385 span.red { color: red; }
386 span.silver { color: silver; }
387 span.teal { color: teal; }
388 span.white { color: white; }
389 span.yellow { color: yellow; }
390
391 span.aqua-background { background: aqua; }
392 span.black-background { background: black; }
393 span.blue-background { background: blue; }
394 span.fuchsia-background { background: fuchsia; }
395 span.gray-background { background: gray; }
396 span.green-background { background: green; }
397 span.lime-background { background: lime; }
398 span.maroon-background { background: maroon; }
399 span.navy-background { background: navy; }
400 span.olive-background { background: olive; }
401 span.purple-background { background: purple; }
402 span.red-background { background: red; }
403 span.silver-background { background: silver; }
404 span.teal-background { background: teal; }
405 span.white-background { background: white; }
406 span.yellow-background { background: yellow; }
407
408 span.big { font-size: 2em; }
409 span.small { font-size: 0.6em; }
410
411 span.underline { text-decoration: underline; }
412 span.overline { text-decoration: overline; }
413 span.line-through { text-decoration: line-through; }
414
415 div.unbreakable { page-break-inside: avoid; }
416
417
418 /*
419 * xhtml11 specific
420 *
421 * */
422
423 div.tableblock {
424 margin-top: 1.0em;
425 margin-bottom: 1.5em;
426 }
427 div.tableblock > table {
428 border: 3px solid #527bbd;
429 }
430 thead, p.table.header {
431 font-weight: bold;
432 color: #527bbd;
433 }
434 p.table {
435 margin-top: 0;
436 }
437 /* Because the table frame attribute is overriden by CSS in most browsers. */
438 div.tableblock > table[frame="void"] {
439 border-style: none;
440 }
441 div.tableblock > table[frame="hsides"] {
442 border-left-style: none;
443 border-right-style: none;
444 }
445 div.tableblock > table[frame="vsides"] {
446 border-top-style: none;
447 border-bottom-style: none;
448 }
449
450
451 /*
452 * html5 specific
453 *
454 * */
455
456 table.tableblock {
457 margin-top: 1.0em;
458 margin-bottom: 1.5em;
459 }
460 thead, p.tableblock.header {
461 font-weight: bold;
462 color: #527bbd;
463 }
464 p.tableblock {
465 margin-top: 0;
466 }
467 table.tableblock {
468 border-width: 3px;
469 border-spacing: 0px;
470 border-style: solid;
471 border-color: #527bbd;
472 border-collapse: collapse;
473 }
474 th.tableblock, td.tableblock {
475 border-width: 1px;
476 padding: 4px;
477 border-style: solid;
478 border-color: #527bbd;
479 }
480
481 table.tableblock.frame-topbot {
482 border-left-style: hidden;
483 border-right-style: hidden;
484 }
485 table.tableblock.frame-sides {
486 border-top-style: hidden;
487 border-bottom-style: hidden;
488 }
489 table.tableblock.frame-none {
490 border-style: hidden;
491 }
492
493 th.tableblock.halign-left, td.tableblock.halign-left {
494 text-align: left;
495 }
496 th.tableblock.halign-center, td.tableblock.halign-center {
497 text-align: center;
498 }
499 th.tableblock.halign-right, td.tableblock.halign-right {
500 text-align: right;
501 }
502
503 th.tableblock.valign-top, td.tableblock.valign-top {
504 vertical-align: top;
505 }
506 th.tableblock.valign-middle, td.tableblock.valign-middle {
507 vertical-align: middle;
508 }
509 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
510 vertical-align: bottom;
511 }
512
513
514 /*
515 * manpage specific
516 *
517 * */
518
519 body.manpage h1 {
378 padding-top: 0.5em; 520 padding-top: 0.5em;
379 padding-bottom: 0.5em; 521 padding-bottom: 0.5em;
380 border-top: 2px solid silver; 522 border-top: 2px solid silver;
381 border-bottom: 2px solid silver; 523 border-bottom: 2px solid silver;
382 } 524 }
383 h2 { 525 body.manpage h2 {
384 border-style: none; 526 border-style: none;
385 } 527 }
386 div.sectionbody { 528 body.manpage div.sectionbody {
387 margin-left: 5%; 529 margin-left: 3em;
388 } 530 }
389 531
390 @media print { 532 @media print {
391 div#toc { display: none; } 533 body.manpage div#toc { display: none; }
392 } 534 }
393 535
394 /* Workarounds for IE6's broken and incomplete CSS2. */ 536
395
396 div.sidebar-content {
397 background: #ffffee;
398 border: 1px solid silver;
399 padding: 0.5em;
400 }
401 div.sidebar-title, div.image-title {
402 color: #527bbd;
403 font-family: sans-serif;
404 font-weight: bold;
405 margin-top: 0.0em;
406 margin-bottom: 0.5em;
407 }
408
409 div.listingblock div.content {
410 border: 1px solid silver;
411 background: #f4f4f4;
412 padding: 0.5em;
413 }
414
415 div.quoteblock-attribution {
416 padding-top: 0.5em;
417 text-align: right;
418 }
419
420 div.verseblock-content {
421 white-space: pre;
422 }
423 div.verseblock-attribution {
424 padding-top: 0.75em;
425 text-align: left;
426 }
427
428 div.exampleblock-content {
429 border-left: 3px solid #dddddd;
430 padding-left: 0.5em;
431 }
432
433 /* IE6 sets dynamically generated links as visited. */
434 div#toc a:visited { color: blue; }
435 </style> 537 </style>
436 <script type="text/javascript"> 538 <script type="text/javascript">
437 /*<![CDATA[*/ 539 /*<![CDATA[*/
438 window.onload = function(){asciidoc.footnotes();}
439 var asciidoc = { // Namespace. 540 var asciidoc = { // Namespace.
440 541
441 ///////////////////////////////////////////////////////////////////// 542 /////////////////////////////////////////////////////////////////////
442 // Table Of Contents generator 543 // Table Of Contents generator
443 ///////////////////////////////////////////////////////////////////// 544 /////////////////////////////////////////////////////////////////////
475 this.toclevel = toclevel; 576 this.toclevel = toclevel;
476 } 577 }
477 578
478 function tocEntries(el, toclevels) { 579 function tocEntries(el, toclevels) {
479 var result = new Array; 580 var result = new Array;
480 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])'); 581 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
481 // Function that scans the DOM tree for header elements (the DOM2 582 // Function that scans the DOM tree for header elements (the DOM2
482 // nodeIterator API would be a better technique but not supported by all 583 // nodeIterator API would be a better technique but not supported by all
483 // browsers). 584 // browsers).
484 var iterate = function (el) { 585 var iterate = function (el) {
485 for (var i = el.firstChild; i != null; i = i.nextSibling) { 586 for (var i = el.firstChild; i != null; i = i.nextSibling) {
495 iterate(el); 596 iterate(el);
496 return result; 597 return result;
497 } 598 }
498 599
499 var toc = document.getElementById("toc"); 600 var toc = document.getElementById("toc");
601 if (!toc) {
602 return;
603 }
604
605 // Delete existing TOC entries in case we're reloading the TOC.
606 var tocEntriesToRemove = [];
607 var i;
608 for (i = 0; i < toc.childNodes.length; i++) {
609 var entry = toc.childNodes[i];
610 if (entry.nodeName.toLowerCase() == 'div'
611 && entry.getAttribute("class")
612 && entry.getAttribute("class").match(/^toclevel/))
613 tocEntriesToRemove.push(entry);
614 }
615 for (i = 0; i < tocEntriesToRemove.length; i++) {
616 toc.removeChild(tocEntriesToRemove[i]);
617 }
618
619 // Rebuild TOC entries.
500 var entries = tocEntries(document.getElementById("content"), toclevels); 620 var entries = tocEntries(document.getElementById("content"), toclevels);
501 for (var i = 0; i < entries.length; ++i) { 621 for (var i = 0; i < entries.length; ++i) {
502 var entry = entries[i]; 622 var entry = entries[i];
503 if (entry.element.id == "") 623 if (entry.element.id == "")
504 entry.element.id = "_toc_" + i; 624 entry.element.id = "_toc_" + i;
522 /* Based on footnote generation code from: 642 /* Based on footnote generation code from:
523 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html 643 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
524 */ 644 */
525 645
526 footnotes: function () { 646 footnotes: function () {
647 // Delete existing footnote entries in case we're reloading the footnodes.
648 var i;
649 var noteholder = document.getElementById("footnotes");
650 if (!noteholder) {
651 return;
652 }
653 var entriesToRemove = [];
654 for (i = 0; i < noteholder.childNodes.length; i++) {
655 var entry = noteholder.childNodes[i];
656 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
657 entriesToRemove.push(entry);
658 }
659 for (i = 0; i < entriesToRemove.length; i++) {
660 noteholder.removeChild(entriesToRemove[i]);
661 }
662
663 // Rebuild footnote entries.
527 var cont = document.getElementById("content"); 664 var cont = document.getElementById("content");
528 var noteholder = document.getElementById("footnotes");
529 var spans = cont.getElementsByTagName("span"); 665 var spans = cont.getElementsByTagName("span");
530 var refs = {}; 666 var refs = {};
531 var n = 0; 667 var n = 0;
532 for (i=0; i<spans.length; i++) { 668 for (i=0; i<spans.length; i++) {
533 if (spans[i].className == "footnote") { 669 if (spans[i].className == "footnote") {
534 n++; 670 n++;
535 // Use [\s\S] in place of . so multi-line matches work. 671 var note = spans[i].getAttribute("data-note");
536 // Because JavaScript has no s (dotall) regex flag. 672 if (!note) {
537 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1]; 673 // Use [\s\S] in place of . so multi-line matches work.
674 // Because JavaScript has no s (dotall) regex flag.
675 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
676 spans[i].innerHTML =
677 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
678 "' title='View footnote' class='footnote'>" + n + "</a>]";
679 spans[i].setAttribute("data-note", note);
680 }
538 noteholder.innerHTML += 681 noteholder.innerHTML +=
539 "<div class='footnote' id='_footnote_" + n + "'>" + 682 "<div class='footnote' id='_footnote_" + n + "'>" +
540 "<a href='#_footnoteref_" + n + "' title='Return to text'>" + 683 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
541 n + "</a>. " + note + "</div>"; 684 n + "</a>. " + note + "</div>";
542 spans[i].innerHTML =
543 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
544 "' title='View footnote' class='footnote'>" + n + "</a>]";
545 var id =spans[i].getAttribute("id"); 685 var id =spans[i].getAttribute("id");
546 if (id != null) refs["#"+id] = n; 686 if (id != null) refs["#"+id] = n;
547 } 687 }
548 } 688 }
549 if (n == 0) 689 if (n == 0)
559 "[<a href='#_footnote_" + n + 699 "[<a href='#_footnote_" + n +
560 "' title='View footnote' class='footnote'>" + n + "</a>]"; 700 "' title='View footnote' class='footnote'>" + n + "</a>]";
561 } 701 }
562 } 702 }
563 } 703 }
564 } 704 },
565 705
566 } 706 install: function(toclevels) {
707 var timerId;
708
709 function reinstall() {
710 asciidoc.footnotes();
711 if (toclevels) {
712 asciidoc.toc(toclevels);
713 }
714 }
715
716 function reinstallAndRemoveTimer() {
717 clearInterval(timerId);
718 reinstall();
719 }
720
721 timerId = setInterval(reinstall, 500);
722 if (document.addEventListener)
723 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
724 else
725 window.onload = reinstallAndRemoveTimer;
726 }
727
728 }
729 asciidoc.install();
567 /*]]>*/ 730 /*]]>*/
568 </script> 731 </script>
569 </head> 732 </head>
570 <body> 733 <body class="manpage">
571 <div id="header"> 734 <div id="header">
572 <h1> 735 <h1>
573 MCABBER(1) Manual Page 736 MCABBER(1) Manual Page
574 </h1> 737 </h1>
575 <h2>NAME</h2> 738 <h2>NAME</h2>
578 a simple Jabber (XMPP) console client 741 a simple Jabber (XMPP) console client
579 </p> 742 </p>
580 </div> 743 </div>
581 </div> 744 </div>
582 <div id="content"> 745 <div id="content">
746 <div class="sect1">
583 <h2 id="_synopsis">SYNOPSIS</h2> 747 <h2 id="_synopsis">SYNOPSIS</h2>
584 <div class="sectionbody"> 748 <div class="sectionbody">
585 <div class="paragraph"><p><em>mcabber</em> [ -h | -V | -f configfile ]</p></div> 749 <div class="paragraph"><p><em>mcabber</em> [ -h | -V | -f configfile ]</p></div>
586 </div> 750 </div>
751 </div>
752 <div class="sect1">
587 <h2 id="_description">DESCRIPTION</h2> 753 <h2 id="_description">DESCRIPTION</h2>
588 <div class="sectionbody"> 754 <div class="sectionbody">
589 <div class="paragraph"><p><tt>mcabber(1)</tt> is a small Jabber (XMPP) console client.<br /> 755 <div class="paragraph"><p><span class="monospaced">mcabber(1)</span> is a small Jabber (XMPP) console client.<br>
590 For now it needs a configuration file to start, so please copy the sample 756 For now it needs a configuration file to start, so please copy the sample
591 mcabberrc file and adapt your connection settings.</p></div> 757 mcabberrc file and adapt your connection settings.</p></div>
592 <div class="paragraph"><p>You also need to have an existing Jabber account to use this software, as 758 <div class="paragraph"><p>You also need to have an existing Jabber account to use this software, as
593 it cannot (un)register accounts yet.</p></div> 759 it cannot (un)register accounts yet.</p></div>
594 <div class="paragraph"><p>Here are some of the features of <tt>mcabber</tt>:</p></div> 760 <div class="paragraph"><p>Here are some of the features of <span class="monospaced">mcabber</span>:</p></div>
595 <div class="ulist"><ul> 761 <div class="ulist"><ul>
596 <li> 762 <li>
597 <p> 763 <p>
598 <em>SASL/SSL/TLS support</em>. 764 <em>SASL/SSL/TLS support</em>.
599 </p> 765 </p>
614 </p> 780 </p>
615 </li> 781 </li>
616 <li> 782 <li>
617 <p> 783 <p>
618 <em>History logging:</em> If enabled (see the CONFIGURATION FILE section), 784 <em>History logging:</em> If enabled (see the CONFIGURATION FILE section),
619 <tt>mcabber</tt> can save discussions to text history log files. 785 <span class="monospaced">mcabber</span> can save discussions to text history log files.
620 </p> 786 </p>
621 </li> 787 </li>
622 <li> 788 <li>
623 <p> 789 <p>
624 <em>Commands completion:</em> If possible, <tt>mcabber</tt> will try to complete your 790 <em>Commands completion:</em> If possible, <span class="monospaced">mcabber</span> will try to complete your
625 command line if you hit the Tab key. 791 command line if you hit the Tab key.
626 </p> 792 </p>
627 </li> 793 </li>
628 <li> 794 <li>
629 <p> 795 <p>
634 <li> 800 <li>
635 <p> 801 <p>
636 <em>External actions:</em> Some events (like receiving a message) can trigger an 802 <em>External actions:</em> Some events (like receiving a message) can trigger an
637 external action such as a shell script if you enable it in your 803 external action such as a shell script if you enable it in your
638 configuration file. A sample events script ("eventcmd") is provided with 804 configuration file. A sample events script ("eventcmd") is provided with
639 <tt>mcabber</tt> source code, in the contrib directory. 805 <span class="monospaced">mcabber</span> source code, in the contrib directory.
640 </p> 806 </p>
641 </li> 807 </li>
642 <li> 808 <li>
643 <p> 809 <p>
644 <em>Modules:</em> <tt>mcabber</tt> can load modules (a.k.a. plugins) at runtime that 810 <em>Modules:</em> <span class="monospaced">mcabber</span> can load modules (a.k.a. plugins) at runtime that
645 extend its features. 811 extend its features.
646 </p> 812 </p>
647 </li> 813 </li>
648 </ul></div> 814 </ul></div>
649 </div> 815 </div>
816 </div>
817 <div class="sect1">
650 <h2 id="_options">OPTIONS</h2> 818 <h2 id="_options">OPTIONS</h2>
651 <div class="sectionbody"> 819 <div class="sectionbody">
652 <div class="dlist"><dl> 820 <div class="dlist"><dl>
653 <dt class="hdlist1"> 821 <dt class="hdlist1">
654 -h 822 -h
661 <dt class="hdlist1"> 829 <dt class="hdlist1">
662 -V 830 -V
663 </dt> 831 </dt>
664 <dd> 832 <dd>
665 <p> 833 <p>
666 Displays <tt>mcabber</tt> version and compile-time definitions. 834 Displays <span class="monospaced">mcabber</span> version and compile-time definitions.
667 </p> 835 </p>
668 </dd> 836 </dd>
669 <dt class="hdlist1"> 837 <dt class="hdlist1">
670 -f configfile 838 -f configfile
671 </dt> 839 </dt>
674 Use configuration file <em>configfile</em> 842 Use configuration file <em>configfile</em>
675 </p> 843 </p>
676 </dd> 844 </dd>
677 </dl></div> 845 </dl></div>
678 </div> 846 </div>
847 </div>
848 <div class="sect1">
679 <h2 id="_windows_panes">WINDOWS/PANES</h2> 849 <h2 id="_windows_panes">WINDOWS/PANES</h2>
680 <div class="sectionbody"> 850 <div class="sectionbody">
681 <div class="paragraph"><p>The <tt>mcabber(1)</tt> screen is divided into 4 regions. 851 <div class="paragraph"><p>The <span class="monospaced">mcabber(1)</span> screen is divided into 4 regions.
682 The <em>roster</em>, alias <em>buddylist</em>, is on the left. The <em>chat window</em>, or chat 852 The <em>roster</em>, alias <em>buddylist</em>, is on the left. The <em>chat window</em>, or chat
683 buffer, is on the right. The <em>input line</em> lies at the bottom of the screen, 853 buffer, is on the right. The <em>input line</em> lies at the bottom of the screen,
684 under a small <em>log window</em>.</p></div> 854 under a small <em>log window</em>.</p></div>
685 <div class="paragraph"><p>Two status lines surround the log window. The bottom status line is the 855 <div class="paragraph"><p>Two status lines surround the log window. The bottom status line is the
686 "main status line" and reflects mcabber general status. The other line 856 "main status line" and reflects mcabber general status. The other line
687 is the "chat status line" and shows the status of the currently selected 857 is the "chat status line" and shows the status of the currently selected
688 buddy.</p></div> 858 buddy.</p></div>
689 <div class="paragraph"><p>To display buddies chat buffers, you will have to enter <em>chat mode</em>. 859 <div class="paragraph"><p>To display buddies chat buffers, you will have to enter <em>chat mode</em>.
690 You can enter chat mode by pressing enter, and leave chat mode with the ESC 860 You can enter chat mode by pressing enter (unless <em>vi mode</em> is enabled), and
691 key. Simply sending a message will also enable chat mode.</p></div> 861 leave chat mode with the ESC key. Simply sending a message will also enable
862 chat mode (unless <em>vi mode</em> is enabled).</p></div>
692 <div class="paragraph"><p>There are several advantages to the two-mode implementation: first, it allows 863 <div class="paragraph"><p>There are several advantages to the two-mode implementation: first, it allows
693 accurate "unread" message functionality, as described in the next section; 864 accurate "unread" message functionality, as described in the next section;
694 without this, merely scrolling to a specific buddy will "read" the new 865 without this, merely scrolling to a specific buddy will "read" the new
695 messages of all buddies in-between. Second, it allows quickly hiding the 866 messages of all buddies in-between. Second, it allows quickly hiding the
696 conversation with a single keystroke. Third, it allows jumping between 867 conversation with a single keystroke. Third, it allows jumping between
697 the few buddies with whom you are conversing with the <em>/roster alternate</em> 868 the few buddies with whom you are conversing with the <em>/roster alternate</em>
698 command described in another section, without having to manually scroll 869 command described in another section, without having to manually scroll
699 back and forth.</p></div> 870 back and forth.</p></div>
700 </div> 871 </div>
872 </div>
873 <div class="sect1">
701 <h2 id="_keys">KEYS</h2> 874 <h2 id="_keys">KEYS</h2>
702 <div class="sectionbody"> 875 <div class="sectionbody">
703 <div class="paragraph"><p>Text typing occurs in the <em>input line</em>; basic operations are supported 876 <div class="paragraph"><p>Text typing occurs in the <em>input line</em>; basic operations are supported
704 (left arrow, right arrow, home/end keys, insert, delete, backspace&#8230;).</p></div> 877 (left arrow, right arrow, home/end keys, insert, delete, backspace&#8230;).</p></div>
705 <div class="paragraph"><p>PageUp and PageDown keys are used to move in the roster.</p></div> 878 <div class="paragraph"><p>PageUp and PageDown keys are used to move in the roster.</p></div>
858 </dd> 1031 </dd>
859 </dl></div> 1032 </dl></div>
860 <div class="paragraph"><p>Additional key bindings may be specified using the <em>/bind</em> command described 1033 <div class="paragraph"><p>Additional key bindings may be specified using the <em>/bind</em> command described
861 in the COMMANDS section.</p></div> 1034 in the COMMANDS section.</p></div>
862 </div> 1035 </div>
1036 </div>
1037 <div class="sect1">
1038 <h2 id="_vi_mode">VI MODE</h2>
1039 <div class="sectionbody">
1040 <div class="paragraph"><p>If the "vi_mode" option is set to 1, <span class="monospaced">mcabber(1)</span> accepts a few commands
1041 loosely based on those available in <span class="monospaced">vi(1)</span>'s normal mode. In this case, chat
1042 mode is not entered by pressing enter, and messages cannot be composed outside
1043 of the chat mode. The following commands are accepted:</p></div>
1044 <div class="dlist"><dl>
1045 <dt class="hdlist1">
1046 A
1047 </dt>
1048 <dd>
1049 <p>
1050 Call "/roster unread_first".
1051 </p>
1052 </dd>
1053 <dt class="hdlist1">
1054 a
1055 </dt>
1056 <dd>
1057 <p>
1058 Call "/roster unread_next".
1059 </p>
1060 </dd>
1061 <dt class="hdlist1">
1062 F
1063 </dt>
1064 <dd>
1065 <p>
1066 Call "/roster group_prev".
1067 </p>
1068 </dd>
1069 <dt class="hdlist1">
1070 f
1071 </dt>
1072 <dd>
1073 <p>
1074 Call "/roster group_next".
1075 </p>
1076 </dd>
1077 <dt class="hdlist1">
1078 G
1079 </dt>
1080 <dd>
1081 <p>
1082 Call "/roster bottom".
1083 </p>
1084 </dd>
1085 <dt class="hdlist1">
1086 gg
1087 </dt>
1088 <dd>
1089 <p>
1090 Call "/roster top".
1091 </p>
1092 </dd>
1093 <dt class="hdlist1">
1094 i
1095 </dt>
1096 <dd>
1097 <p>
1098 Enter chat mode.
1099 </p>
1100 </dd>
1101 <dt class="hdlist1">
1102 [N]j
1103 </dt>
1104 <dd>
1105 <p>
1106 Call "/roster down [N]".
1107 </p>
1108 </dd>
1109 <dt class="hdlist1">
1110 [N]k
1111 </dt>
1112 <dd>
1113 <p>
1114 Call "/roster up [N]".
1115 </p>
1116 </dd>
1117 <dt class="hdlist1">
1118 n
1119 </dt>
1120 <dd>
1121 <p>
1122 Repeat the previous search (if any).
1123 </p>
1124 </dd>
1125 <dt class="hdlist1">
1126 O
1127 </dt>
1128 <dd>
1129 <p>
1130 Call "/roster unread_first" and open chat window.
1131 </p>
1132 </dd>
1133 <dt class="hdlist1">
1134 o
1135 </dt>
1136 <dd>
1137 <p>
1138 Call "/roster unread_next" and open chat window.
1139 </p>
1140 </dd>
1141 <dt class="hdlist1">
1142 ZZ
1143 </dt>
1144 <dd>
1145 <p>
1146 Call "/quit".
1147 </p>
1148 </dd>
1149 <dt class="hdlist1">
1150 zM
1151 </dt>
1152 <dd>
1153 <p>
1154 Call "/group fold" for all groups.
1155 </p>
1156 </dd>
1157 <dt class="hdlist1">
1158 zR
1159 </dt>
1160 <dd>
1161 <p>
1162 Call "/group unfold" for all groups.
1163 </p>
1164 </dd>
1165 <dt class="hdlist1">
1166 ''
1167 </dt>
1168 <dd>
1169 <p>
1170 Call "/roster alternate".
1171 </p>
1172 </dd>
1173 <dt class="hdlist1">
1174 !
1175 </dt>
1176 <dd>
1177 <p>
1178 Toggle attention flag for current buddy.
1179 </p>
1180 </dd>
1181 <dt class="hdlist1">
1182 #
1183 </dt>
1184 <dd>
1185 <p>
1186 Toggle unread messages flag for current buddy.
1187 </p>
1188 </dd>
1189 <dt class="hdlist1">
1190 &lt;Space&gt;
1191 </dt>
1192 <dd>
1193 <p>
1194 Call "/group toggle" for the current group.
1195 </p>
1196 </dd>
1197 </dl></div>
1198 <div class="paragraph"><p>A leading slash enables search mode:</p></div>
1199 <div class="dlist"><dl>
1200 <dt class="hdlist1">
1201 /string
1202 </dt>
1203 <dd>
1204 <p>
1205 Call "/roster search string".
1206 </p>
1207 </dd>
1208 </dl></div>
1209 <div class="paragraph"><p>A leading colon enabled command-line mode:</p></div>
1210 <div class="literalblock">
1211 <div class="content monospaced">
1212 <pre>above commands).</pre>
1213 </div></div>
1214 <div class="paragraph"><p>Commands entered with a leading colon and searches are either submitted by
1215 pressing enter or aborted by hitting escape. In either case, <span class="monospaced">mcabber(1)</span>
1216 returns to the normal (non-chat) mode. History editing is supported in
1217 command-line mode and in search mode. In command-line mode, tab completion is
1218 supported as well.</p></div>
1219 </div>
1220 </div>
1221 <div class="sect1">
863 <h2 id="_mcabber_8217_s_roster">MCABBER&#8217;S ROSTER</h2> 1222 <h2 id="_mcabber_8217_s_roster">MCABBER&#8217;S ROSTER</h2>
864 <div class="sectionbody"> 1223 <div class="sectionbody">
865 <div class="paragraph"><p>The first listed item on the roster is <em>[status]</em>, which keeps a log of 1224 <div class="paragraph"><p>The first listed item on the roster is <em>[status]</em>, which keeps a log of
866 everything that appears in the short log window below the main chat area. 1225 everything that appears in the short log window below the main chat area.
867 While the log window was designed for showing the latest few elements, the 1226 While the log window was designed for showing the latest few elements, the
976 <p> 1335 <p>
977 John is online, can see your status, and sent you a message that you did not read yet 1336 John is online, can see your status, and sent you a message that you did not read yet
978 </p> 1337 </p>
979 </dd> 1338 </dd>
980 <dt class="hdlist1"> 1339 <dt class="hdlist1">
981 <em> {?} Sally</em> 1340 ' {?} Sally'
982 </dt> 1341 </dt>
983 <dd> 1342 <dd>
984 <p> 1343 <p>
985 Neither you nor Sally have authorized each other to see your online status 1344 Neither you nor Sally have authorized each other to see your online status
986 </p> 1345 </p>
987 </dd> 1346 </dd>
988 <dt class="hdlist1"> 1347 <dt class="hdlist1">
989 <em> {a} Jane</em> 1348 ' {a} Jane'
990 </dt> 1349 </dt>
991 <dd> 1350 <dd>
992 <p> 1351 <p>
993 Jane is away, but she cannot see your online status 1352 Jane is away, but she cannot see your online status
994 </p> 1353 </p>
1001 You are participating in x@y.c conference room, and there are unread messages 1360 You are participating in x@y.c conference room, and there are unread messages
1002 </p> 1361 </p>
1003 </dd> 1362 </dd>
1004 </dl></div> 1363 </dl></div>
1005 </div> 1364 </div>
1365 </div>
1366 <div class="sect1">
1006 <h2 id="_commands">COMMANDS</h2> 1367 <h2 id="_commands">COMMANDS</h2>
1007 <div class="sectionbody"> 1368 <div class="sectionbody">
1008 <div class="paragraph"><p>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.<br /> 1369 <div class="paragraph"><p>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.<br>
1009 You will find an overview of the <tt>mcabber</tt> commands in this manual.</p></div> 1370 You will find an overview of the <span class="monospaced">mcabber</span> commands in this manual.</p></div>
1010 </div> 1371 </div>
1372 </div>
1373 <div class="sect1">
1011 <h2 id="_commands_related_to_mcabber">COMMANDS RELATED TO MCABBER</h2> 1374 <h2 id="_commands_related_to_mcabber">COMMANDS RELATED TO MCABBER</h2>
1012 <div class="sectionbody"> 1375 <div class="sectionbody">
1013 <div class="dlist"><dl> 1376 <div class="dlist"><dl>
1014 <dt class="hdlist1"> 1377 <dt class="hdlist1">
1015 /add [jid [nickname]] 1378 /add [jid [nickname]]
1025 <dd> 1388 <dd>
1026 <p> 1389 <p>
1027 Add to our roster "jid" as "nickname" 1390 Add to our roster "jid" as "nickname"
1028 </p> 1391 </p>
1029 <div class="literalblock"> 1392 <div class="literalblock">
1030 <div class="content"> 1393 <div class="content monospaced">
1031 <pre><tt>Example: "/add somebody@jabber.server.com Somebody"</tt></pre> 1394 <pre>Example: "/add somebody@jabber.server.com Somebody"</pre>
1032 </div></div> 1395 </div></div>
1033 </dd> 1396 </dd>
1034 </dl></div> 1397 </dl></div>
1035 </dd> 1398 </dd>
1036 <dt class="hdlist1"> 1399 <dt class="hdlist1">
1037 /alias [name [= command line]] 1400 /alias [name [= command line]]
1038 </dt> 1401 </dt>
1039 <dd> 1402 <dd>
1040 <p> 1403 <p>
1041 This command let you to add aliases which can simplify sophisticated commands.<br /> 1404 This command let you to add aliases which can simplify sophisticated commands.<br>
1042 You can manage your aliases by: 1405 You can manage your aliases by:
1043 </p> 1406 </p>
1044 <div class="dlist"><dl> 1407 <div class="dlist"><dl>
1045 <dt class="hdlist1"> 1408 <dt class="hdlist1">
1046 (without arguments) 1409 (without arguments)
1072 <dd> 1435 <dd>
1073 <p> 1436 <p>
1074 Set alias called "name" with value "command line" 1437 Set alias called "name" with value "command line"
1075 </p> 1438 </p>
1076 <div class="literalblock"> 1439 <div class="literalblock">
1077 <div class="content"> 1440 <div class="content monospaced">
1078 <pre><tt>Example: "/alias away = status away"</tt></pre> 1441 <pre>Example: "/alias away = status away"</pre>
1079 </div></div> 1442 </div></div>
1080 </dd> 1443 </dd>
1081 </dl></div> 1444 </dl></div>
1082 </dd> 1445 </dd>
1083 <dt class="hdlist1"> 1446 <dt class="hdlist1">
1084 /authorization allow|cancel|request|request_unsubscribe [jid] 1447 /authorization allow|cancel|request|request_unsubscribe [jid]
1085 </dt> 1448 </dt>
1086 <dd> 1449 <dd>
1087 <p> 1450 <p>
1088 This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications.<br /> 1451 This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications.<br>
1089 If no JID is provided, the currently-selected buddy is used. 1452 If no JID is provided, the currently-selected buddy is used.
1090 </p> 1453 </p>
1091 <div class="dlist"><dl> 1454 <div class="dlist"><dl>
1092 <dt class="hdlist1"> 1455 <dt class="hdlist1">
1093 <em>allow</em> 1456 <em>allow</em>
1126 <dt class="hdlist1"> 1489 <dt class="hdlist1">
1127 /bind [keycode [= command line]] 1490 /bind [keycode [= command line]]
1128 </dt> 1491 </dt>
1129 <dd> 1492 <dd>
1130 <p> 1493 <p>
1131 Bind the command to the key given as "keycode". To examine which keys are currently not used look at <tt>mcabber</tt> log window and press examined key. For example: "Unknown key=265" means that you can bind some command to key #265. 1494 Bind the command to the key given as "keycode". To examine which keys are currently not used look at <span class="monospaced">mcabber</span> log window and press examined key. For example: "Unknown key=265" means that you can bind some command to key #265.
1132 </p> 1495 </p>
1133 <div class="dlist"><dl> 1496 <div class="dlist"><dl>
1134 <dt class="hdlist1"> 1497 <dt class="hdlist1">
1135 (without arguments) 1498 (without arguments)
1136 </dt> 1499 </dt>
1161 <dd> 1524 <dd>
1162 <p> 1525 <p>
1163 Bind "command line" to the key with code "keycode" 1526 Bind "command line" to the key with code "keycode"
1164 </p> 1527 </p>
1165 <div class="literalblock"> 1528 <div class="literalblock">
1166 <div class="content"> 1529 <div class="content monospaced">
1167 <pre><tt>Example: "/bind 265 = status away" (265 is F1). + 1530 <pre>Example: "/bind 265 = status away" (265 is F1). +
1168 Note: keycodes can be different depending on your ncurses configuration. + 1531 Note: keycodes can be different depending on your ncurses configuration. +
1169 Tip: aliases also can be used instead of commands.</tt></pre> 1532 Tip: aliases also can be used instead of commands.</pre>
1170 </div></div> 1533 </div></div>
1171 </dd> 1534 </dd>
1172 </dl></div> 1535 </dl></div>
1173 </dd> 1536 </dd>
1174 <dt class="hdlist1"> 1537 <dt class="hdlist1">
1329 <dt class="hdlist1"> 1692 <dt class="hdlist1">
1330 /chat_disable [--show-roster] 1693 /chat_disable [--show-roster]
1331 </dt> 1694 </dt>
1332 <dd> 1695 <dd>
1333 <p> 1696 <p>
1334 Disable chat mode.<br /> 1697 Disable chat mode.<br>
1335 With --show-roster, the fullscreen mode will be disabled. 1698 With --show-roster, the fullscreen mode will be disabled.
1336 </p> 1699 </p>
1337 </dd> 1700 </dd>
1338 <dt class="hdlist1"> 1701 <dt class="hdlist1">
1339 /clear 1702 /clear
1410 <dt class="hdlist1"> 1773 <dt class="hdlist1">
1411 /disconnect 1774 /disconnect
1412 </dt> 1775 </dt>
1413 <dd> 1776 <dd>
1414 <p> 1777 <p>
1415 Terminate the connection to the Jabber server.<br /> 1778 Terminate the connection to the Jabber server.<br>
1416 Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected. 1779 Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
1417 </p> 1780 </p>
1418 </dd> 1781 </dd>
1419 <dt class="hdlist1"> 1782 <dt class="hdlist1">
1420 /echo message 1783 /echo message
1430 <dt class="hdlist1"> 1793 <dt class="hdlist1">
1431 /event list 1794 /event list
1432 </dt> 1795 </dt>
1433 <dd> 1796 <dd>
1434 <p> 1797 <p>
1435 Tell mcabber what to do about pending events.<br /> 1798 Tell mcabber what to do about pending events.<br>
1436 If the first parameter is <em>*</em>, the command will apply to all queued events.<br /> 1799 If the first parameter is <em>*</em>, the command will apply to all queued events.<br>
1437 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. 1800 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.
1438 </p> 1801 </p>
1439 <div class="dlist"><dl> 1802 <div class="dlist"><dl>
1440 <dt class="hdlist1"> 1803 <dt class="hdlist1">
1441 #N|* accept [event-specific arguments] 1804 #N|* accept [event-specific arguments]
1508 <dt class="hdlist1"> 1871 <dt class="hdlist1">
1509 /help [command|+topic] 1872 /help [command|+topic]
1510 </dt> 1873 </dt>
1511 <dd> 1874 <dd>
1512 <p> 1875 <p>
1513 Display help for command "command" or topic "topic".<br /> 1876 Display help for command "command" or topic "topic".<br>
1514 Example: "/help buffer" 1877 Example: "/help buffer"
1515 </p> 1878 </p>
1516 </dd> 1879 </dd>
1517 <dt class="hdlist1"> 1880 <dt class="hdlist1">
1518 /iline fchar|bchar|char_fdel|char_bdel|char_swap 1881 /iline fchar|bchar|char_fdel|char_bdel|char_swap
1751 <dt class="hdlist1"> 2114 <dt class="hdlist1">
1752 /info 2115 /info
1753 </dt> 2116 </dt>
1754 <dd> 2117 <dd>
1755 <p> 2118 <p>
1756 Display info on the selected entry (user, agent, group&#8230;).<br /> 2119 Display info on the selected entry (user, agent, group&#8230;).<br>
1757 For users, resources are displayed with the status, priority and status message (if available) of each resource. 2120 For users, resources are displayed with the status, priority and status message (if available) of each resource.
1758 </p> 2121 </p>
1759 </dd> 2122 </dd>
1760 <dt class="hdlist1"> 2123 <dt class="hdlist1">
1761 /module load|unload [-f] module 2124 /module load|unload [-f] module
1808 <dt class="hdlist1"> 2171 <dt class="hdlist1">
1809 /move [groupname] 2172 /move [groupname]
1810 </dt> 2173 </dt>
1811 <dd> 2174 <dd>
1812 <p> 2175 <p>
1813 Move the current buddy to the requested group. If no group is specified, then the buddy is moved to the default group. If the group "groupname" doesn&#8217;t exist, it is created.<br /> 2176 Move the current buddy to the requested group. If no group is specified, then the buddy is moved to the default group. If the group "groupname" doesn&#8217;t exist, it is created.<br>
1814 Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy. 2177 Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
1815 </p> 2178 </p>
1816 </dd> 2179 </dd>
1817 <dt class="hdlist1"> 2180 <dt class="hdlist1">
1818 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort 2181 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
1819 </dt> 2182 </dt>
1820 <dd> 2183 <dd>
1821 <p> 2184 <p>
1822 Send a multi-line message. To write a single message with several lines, the <em>multi-line mode</em> should be used.<br /> 2185 Send a multi-line message. To write a single message with several lines, the <em>multi-line mode</em> should be used.<br>
1823 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.<br /> 2186 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.<br>
1824 The <em>begin</em> subcommand enables multi-line mode. Note that it allows a message subject to be specified.<br /> 2187 The <em>begin</em> subcommand enables multi-line mode. Note that it allows a message subject to be specified.<br>
1825 The <em>verbatim</em> 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.<br /> 2188 The <em>verbatim</em> 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.<br>
1826 The <em>toggle</em> 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). 2189 The <em>toggle</em> 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).
1827 </p> 2190 </p>
1828 <div class="dlist"><dl> 2191 <div class="dlist"><dl>
1829 <dt class="hdlist1"> 2192 <dt class="hdlist1">
1830 <em>begin</em> [subject] 2193 <em>begin</em> [subject]
1872 <dd> 2235 <dd>
1873 <p> 2236 <p>
1874 Leave multi-line mode without sending the message 2237 Leave multi-line mode without sending the message
1875 </p> 2238 </p>
1876 <div class="literalblock"> 2239 <div class="literalblock">
1877 <div class="content"> 2240 <div class="content monospaced">
1878 <pre><tt>The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.</tt></pre> 2241 <pre>The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.</pre>
1879 </div></div> 2242 </div></div>
1880 </dd> 2243 </dd>
1881 </dl></div> 2244 </dl></div>
1882 </dd> 2245 </dd>
1883 <dt class="hdlist1"> 2246 <dt class="hdlist1">
2001 <dt class="hdlist1"> 2364 <dt class="hdlist1">
2002 /pgp setkey [jid [key]] 2365 /pgp setkey [jid [key]]
2003 </dt> 2366 </dt>
2004 <dd> 2367 <dd>
2005 <p> 2368 <p>
2006 This command manipulates PGP settings for the specified jid (by default the currently selected contact).<br /> 2369 This command manipulates PGP settings for the specified jid (by default the currently selected contact).<br>
2007 Please note that PGP encryption won&#8217;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. 2370 Please note that PGP encryption won&#8217;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.
2008 </p> 2371 </p>
2009 <div class="dlist"><dl> 2372 <div class="dlist"><dl>
2010 <dt class="hdlist1"> 2373 <dt class="hdlist1">
2011 <em>disable</em> [jid] 2374 <em>disable</em> [jid]
2022 <p> 2385 <p>
2023 Enable PGP encryption for jid (or the currently selected contact) 2386 Enable PGP encryption for jid (or the currently selected contact)
2024 </p> 2387 </p>
2025 </dd> 2388 </dd>
2026 <dt class="hdlist1"> 2389 <dt class="hdlist1">
2027 <em style="color:+|-;">force</em> [jid] 2390 <em><span class="+|-">force</span></em> [jid]
2028 </dt> 2391 </dt>
2029 <dd> 2392 <dd>
2030 <p> 2393 <p>
2031 Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support. If a message can&#8217;t be encrypted (missing key or key id), the messages won&#8217;t be sent at all. This option is ignored when PGP is disabled. 2394 Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support. If a message can&#8217;t be encrypted (missing key or key id), the messages won&#8217;t be sent at all. This option is ignored when PGP is disabled.
2032 </p> 2395 </p>
2060 <dt class="hdlist1"> 2423 <dt class="hdlist1">
2061 /rawxml send string 2424 /rawxml send string
2062 </dt> 2425 </dt>
2063 <dd> 2426 <dd>
2064 <p> 2427 <p>
2065 Send "string" (raw XML format) to the Jabber server.<br /> 2428 Send "string" (raw XML format) to the Jabber server.<br>
2066 No check is done on the string provided.<br /> 2429 No check is done on the string provided.<br>
2067 BEWARE! 2430 BEWARE!
2068 Use this only if you know what you are doing, or you could terminate the connection.<br /> 2431 Use this only if you know what you are doing, or you could terminate the connection.<br>
2069 Example: "/rawxml send &lt;presence&gt;&lt;show&gt;away&lt;/show&gt;&lt;/presence&gt;" 2432 Example: "/rawxml send &lt;presence&gt;&lt;show&gt;away&lt;/show&gt;&lt;/presence&gt;"
2070 </p> 2433 </p>
2071 </dd> 2434 </dd>
2072 <dt class="hdlist1"> 2435 <dt class="hdlist1">
2073 /rename name 2436 /rename name
2311 <dt class="hdlist1"> 2674 <dt class="hdlist1">
2312 /roster note [-|text] 2675 /roster note [-|text]
2313 </dt> 2676 </dt>
2314 <dd> 2677 <dd>
2315 <p> 2678 <p>
2316 The <em>roster</em> command manipulates the roster/buddylist.<br /> 2679 The <em>roster</em> command manipulates the roster/buddylist.<br>
2317 Here are the available parameters: 2680 Here are the available parameters:
2318 </p> 2681 </p>
2319 <div class="dlist"><dl> 2682 <div class="dlist"><dl>
2320 <dt class="hdlist1"> 2683 <dt class="hdlist1">
2321 <em>bottom</em> 2684 <em>bottom</em>
2490 <dt class="hdlist1"> 2853 <dt class="hdlist1">
2491 /say [-n|-h|--] text 2854 /say [-n|-h|--] text
2492 </dt> 2855 </dt>
2493 <dd> 2856 <dd>
2494 <p> 2857 <p>
2495 Send the "text" message to the currently selected buddy. It can be useful if you want to send a message beginning with a slash, for example.<br /> 2858 Send the "text" message to the currently selected buddy. It can be useful if you want to send a message beginning with a slash, for example.<br>
2496 The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat message beginning with -n or -h. 2859 The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat message beginning with -n or -h.
2497 </p> 2860 </p>
2498 </dd> 2861 </dd>
2499 <dt class="hdlist1"> 2862 <dt class="hdlist1">
2500 /say_to [-n|-h] [-q] [-f file] jid text 2863 /say_to [-n|-h] [-q] [-f file] jid text
2501 </dt> 2864 </dt>
2502 <dd> 2865 <dd>
2503 <p> 2866 <p>
2504 Send the "text" message to the specified jid.<br /> 2867 Send the "text" message to the specified jid.<br>
2505 Please note that this command doesn&#8217;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.<br /> 2868 Please note that this command doesn&#8217;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.<br>
2506 You can send a message to a specific resource of the currently selected contact by using /say_to ./resourcename message.<br /> 2869 You can send a message to a specific resource of the currently selected contact by using /say_to ./resourcename message.<br>
2507 The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat messages beginning with -n or -h.<br /> 2870 The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat messages beginning with -n or -h.<br>
2508 When "-q" is used, the message will be sent in the background and will not change the current active window.<br /> 2871 When "-q" is used, the message will be sent in the background and will not change the current active window.<br>
2509 A text file can be provided with the "-f" switch (in which case there&#8217;s no need to pass a text argument after the jid, of course). 2872 A text file can be provided with the "-f" switch (in which case there&#8217;s no need to pass a text argument after the jid, of course).
2510 </p> 2873 </p>
2511 </dd> 2874 </dd>
2512 <dt class="hdlist1"> 2875 <dt class="hdlist1">
2513 /screen_refresh 2876 /screen_refresh
2520 <dt class="hdlist1"> 2883 <dt class="hdlist1">
2521 /set [option [= value]] 2884 /set [option [= value]]
2522 </dt> 2885 </dt>
2523 <dd> 2886 <dd>
2524 <p> 2887 <p>
2525 Display or set an option value.<br /> 2888 Display or set an option value.<br>
2526 Without arguments prints a list of all set options with their values 2889 Without arguments prints a list of all set options with their values
2527 </p> 2890 </p>
2528 </dd> 2891 </dd>
2529 <dt class="hdlist1"> 2892 <dt class="hdlist1">
2530 /source pattern 2893 /source pattern
2540 <dt class="hdlist1"> 2903 <dt class="hdlist1">
2541 /status message -|statusmessage 2904 /status message -|statusmessage
2542 </dt> 2905 </dt>
2543 <dd> 2906 <dd>
2544 <p> 2907 <p>
2545 Show or set the current status.<br /> 2908 Show or set the current status.<br>
2546 If no status is specified, display the current status.<br /> 2909 If no status is specified, display the current status.<br>
2547 If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file).<br /> 2910 If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file).<br>
2548 If no relevant message* variable is set and no status message provided, the current status message is kept.<br /> 2911 If no relevant message* variable is set and no status message provided, the current status message is kept.<br>
2549 If StatusMessage is "-", the current status message is cleared.<br /> 2912 If StatusMessage is "-", the current status message is cleared.<br>
2550 With the "/status message" command, mcabber will update the message while preserving the status. 2913 With the "/status message" command, mcabber will update the message while preserving the status.
2551 </p> 2914 </p>
2552 </dd> 2915 </dd>
2553 <dt class="hdlist1"> 2916 <dt class="hdlist1">
2554 /status_to jid online|avail|free|dnd|notavail|away [statusmessage] 2917 /status_to jid online|avail|free|dnd|notavail|away [statusmessage]
2556 <dt class="hdlist1"> 2919 <dt class="hdlist1">
2557 /status_to jid message statusmessage 2920 /status_to jid message statusmessage
2558 </dt> 2921 </dt>
2559 <dd> 2922 <dd>
2560 <p> 2923 <p>
2561 Send the requested status to the specified Jabber user.<br /> 2924 Send the requested status to the specified Jabber user.<br>
2562 If the specified jid is ".", the current buddy is used.<br /> 2925 If the specified jid is ".", the current buddy is used.<br>
2563 Note: this status will be overridden by subsequent "/status" commands. If you are using the auto-away feature, the status will overridden too.<br /> 2926 Note: this status will be overridden by subsequent "/status" commands. If you are using the auto-away feature, the status will overridden too.<br>
2564 Note: The jid can include a resource (i.e. user@server/resource). 2927 Note: The jid can include a resource (i.e. user@server/resource).
2565 </p> 2928 </p>
2566 </dd> 2929 </dd>
2567 <dt class="hdlist1"> 2930 <dt class="hdlist1">
2568 /version 2931 /version
2572 Display current version of mcabber. 2935 Display current version of mcabber.
2573 </p> 2936 </p>
2574 </dd> 2937 </dd>
2575 </dl></div> 2938 </dl></div>
2576 </div> 2939 </div>
2940 </div>
2941 <div class="sect1">
2577 <h2 id="_configuration_file">CONFIGURATION FILE</h2> 2942 <h2 id="_configuration_file">CONFIGURATION FILE</h2>
2578 <div class="sectionbody"> 2943 <div class="sectionbody">
2579 <div class="paragraph"><p>See the provided sample configuration file, which should be self-documenting.</p></div> 2944 <div class="paragraph"><p>See the provided sample configuration file, which should be self-documenting.</p></div>
2580 </div> 2945 </div>
2946 </div>
2947 <div class="sect1">
2581 <h2 id="_files">FILES</h2> 2948 <h2 id="_files">FILES</h2>
2582 <div class="sectionbody"> 2949 <div class="sectionbody">
2583 <div class="paragraph"><p>The following files can be used by <tt>mcabber(1)</tt>:</p></div> 2950 <div class="paragraph"><p>The following files can be used by <span class="monospaced">mcabber(1)</span>:</p></div>
2584 <div class="literalblock"> 2951 <div class="literalblock">
2585 <div class="content"> 2952 <div class="content monospaced">
2586 <pre><tt>$HOME/.mcabber/mcabberrc Default configuration file 2953 <pre>$HOME/.mcabber/mcabberrc Default configuration file
2954 $HOME/.config/mcabber/mcabberrc Alternate location (can use XDG_CONFIG_HOME)
2587 $HOME/.mcabberrc Configuration file used if no other has been found 2955 $HOME/.mcabberrc Configuration file used if no other has been found
2588 $HOME/.mcabber/histo/ Default directory for storing chat history files, if enabled 2956 $HOME/.mcabber/histo/ Default directory for storing chat history files, if enabled
2589 /usr/share/mcabber/help/ Default directory for online help files 2957 /usr/share/mcabber/help/ Default directory for online help files
2590 /usr/lib/mcabber/ Default directory for modules</tt></pre> 2958 /usr/lib/mcabber/ Default directory for modules</pre>
2591 </div></div> 2959 </div></div>
2592 </div> 2960 </div>
2961 </div>
2962 <div class="sect1">
2593 <h2 id="_bugs">BUGS</h2> 2963 <h2 id="_bugs">BUGS</h2>
2594 <div class="sectionbody"> 2964 <div class="sectionbody">
2595 <div class="paragraph"><p>Certainly. Please tell me if you find one! :-)<br /> 2965 <div class="paragraph"><p>Certainly. Please tell me if you find one! :-)<br>
2596 Please visit our website to find out about the MUC room and the bug tracker.</p></div> 2966 Please visit our website to find out about the MUC room and the bug tracker.</p></div>
2597 </div> 2967 </div>
2968 </div>
2969 <div class="sect1">
2598 <h2 id="_author">AUTHOR</h2> 2970 <h2 id="_author">AUTHOR</h2>
2599 <div class="sectionbody"> 2971 <div class="sectionbody">
2600 <div class="paragraph"><p>Written by <a href="mailto:mikael@lilotux.net">Mikael BERTHE</a> and others 2972 <div class="paragraph"><p>Written by <a href="mailto:mikael@lilotux.net">Mikael BERTHE</a> and others
2601 (see AUTHORS file).<br /></p></div> 2973 (see AUTHORS file).<br></p></div>
2602 </div> 2974 </div>
2975 </div>
2976 <div class="sect1">
2603 <h2 id="_resources">RESOURCES</h2> 2977 <h2 id="_resources">RESOURCES</h2>
2604 <div class="sectionbody"> 2978 <div class="sectionbody">
2605 <div class="paragraph"><p><a href="http://mcabber.com/">Main web site</a><br /> 2979 <div class="paragraph"><p><a href="http://mcabber.com/">Main web site</a><br>
2606 <a href="http://wiki.mcabber.com/">Official wiki</a><br /> 2980 <a href="http://wiki.mcabber.com/">Official wiki</a><br>
2607 <a href="xmpp:mcabber@conf.lilotux.net">MCabber MUC room</a></p></div> 2981 xmpp://mcabber@conf.lilotux.net[MCabber MUC room]</p></div>
2608 </div> 2982 </div>
2983 </div>
2984 <div class="sect1">
2609 <h2 id="_copying">COPYING</h2> 2985 <h2 id="_copying">COPYING</h2>
2610 <div class="sectionbody"> 2986 <div class="sectionbody">
2611 <div class="paragraph"><p>Copyright (C) 2005-2017 Mikael Berthe and others.<br /></p></div> 2987 <div class="paragraph"><p>Copyright (C) 2005-2017 Mikael Berthe and others.<br></p></div>
2612 <div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General Public 2988 <div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General Public
2613 License (GPL).</p></div> 2989 License (GPL).</p></div>
2614 </div> 2990 </div>
2615 </div> 2991 </div>
2616 <div id="footnotes"><hr /></div> 2992 </div>
2993 <div id="footnotes"><hr></div>
2617 <div id="footer"> 2994 <div id="footer">
2618 <div id="footer-text"> 2995 <div id="footer-text">
2619 Version 1.0.6-dev<br /> 2996 Version 1.0.6-dev<br>
2620 Last updated 2016-09-17 20:57:35 CEST 2997 Last updated
2998 2017-05-11 14:20:41 CEST
2621 </div> 2999 </div>
2622 </div> 3000 </div>
2623 </body> 3001 </body>
2624 </html> 3002 </html>